我创建了两个播种器类'UsersTableSeeder'和“Conferences TableSeeder”。当执行命令“php artisan db:seed
”时,它出现:
播种:UsersTableSeeder
但是ConferenceTableSeeder不起作用。你知道为什么会这样吗?
UsersTableSeeder:
class UsersTableSeeder extends Seeder
{
public function run()
{
App\User::create([
'name' => 'John',
'email' => '',
'password' => bcrypt('password')
]);
}
}
ConferencesTableSeeder
class ConferencesTableSeeder extends Seeder
{
public function run()
{
App\Event::create([
'name' => 'Test name',
'description' => '',
'date' => '2018-03-08 06:30:00',
...
]);
}
}
答案 0 :(得分:1)
您需要将ConferenceTableSeeder::class
添加到database\seeds\DatabaseSeeder.php
文件
public function run()
{
$this->call(UsersTableSeeder::class);
$this->call(ConferenceTableSeeder::class);
}
当您运行php artisan db:seed
时,它会调用run
类中的DatabaseSeeder
方法,该方法会调用那里的播种机文件
UsersTableSeeder
默认存在,这就是为什么只有那个
答案 1 :(得分:0)
打开此文件夹database \ seeds \ DatabaseSeeder.php并在此处添加类名以运行所有播种机
编写以下代码来运行播种器文件:
public function run()
{
$this->call(UsersTableSeeder::class);
$this->call(ConferenceTableSeeder::class);
}
注意:您还可以使用以下代码运行特定的播种机文件:
php artisan db:seed --class=ConferenceTableSeeder