docker と laravel の環境で seed をしたく、php artisan db:seed
を実行しました。
そうすると以下のエラーが出てしまいます。
Class UsersTableSeeder does not exist
調べると名前空間のマッピングが必要らしくcomposer dump-autoload
を実行する必要があるらしいです。
しかし、dockerでの開発のため、どのように実行したらいいか正確なコードが得られませんでした。
どのようにしたらいいか、正解を知っている方がいましたら教えてください。
下記周辺ファイルを追記しておきます。
DatabaseSeeder
1<?php 2 3use Illuminate\Database\Seeder; 4 5class DatabaseSeeder extends Seeder 6{ 7 /** 8 * Seed the application's database. 9 * 10 * @return void 11 */ 12 public function run() 13 { 14 $this->call(UsersTableSeeder::class); 15 } 16} 17
UsersTableSeeder
1<?php 2 3use Illuminate\Database\Seeder; 4 5class UsersTableSeeder extends Seeder 6{ 7 /** 8 * Run the database seeds. 9 * 10 * @return void 11 */ 12 public function run() 13 { 14 $param =[ 15 'name' => 'name', 16 'email' => 'fugafuga@example.com', 17 'password' => 'hogehoge', 18 ]; 19 DB::table('users')->insert($param); 20 } 21} 22
CreateUsersTable
1<?php 2 3use Illuminate\Support\Facades\Schema; 4use Illuminate\Database\Schema\Blueprint; 5use Illuminate\Database\Migrations\Migration; 6 7class CreateUsersTable extends Migration 8{ 9 /** 10 * Run the migrations. 11 * 12 * @return void 13 */ 14 public function up() 15 { 16 Schema::create('users', function (Blueprint $table) { 17 $table->increments('id'); 18 $table->string('name'); 19 $table->string('email')->unique(); 20 $table->timestamp('email_verified_at')->nullable(); 21 $table->string('password'); 22 $table->rememberToken(); 23 $table->timestamps(); 24 }); 25 } 26 27 /** 28 * Reverse the migrations. 29 * 30 * @return void 31 */ 32 public function down() 33 { 34 Schema::dropIfExists('users'); 35 } 36} 37
> Class UsersTableSeeder does not exist エラーから素朴に考えると単純にSeederのソースコードが誤っているのではないかと思いますがそれは有り得ないのでしょうか?
周辺ファイルを追記しました。参考書どうりに記述したため、誤りはないように思います。
回答3件
あなたの回答
tips
プレビュー