一个播种机类正在工作,但另一个不工作,你知道为什么吗?



我创建了两个播种器类'UsersTableSeeder'和'Meetings TableSeeder'。当命令"php artisan db:seed"被执行时,它出现:

种:用户表播种器

但是ConferenceTableSeeder不起作用。你知道为什么可以吗?

UsersTableSeeder:

class UsersTableSeeder extends Seeder
{
    public function run()
    {
        AppUser::create([
            'name' => 'John',
            'email' => '',
            'password' => bcrypt('password')
        ]);
    }
}

会议桌播种机

class ConferencesTableSeeder extends Seeder
{
    public function run()
    {
        AppEvent::create([
            'name' => 'Test name',
            'description' => '',
            'date' => '2018-03-08 06:30:00',
            ...
        ]);
    }
}
您需要

ConferenceTableSeeder::class添加到databaseseedsDatabaseSeeder.php文件中

public function run()
{
     $this->call(UsersTableSeeder::class);
     $this->call(ConferenceTableSeeder::class);
}

当你运行php artisan db:seed时,它会调用DatabaseSeeder类中的run方法,而该方法又调用其中的播种器文件

默认情况下,UsersTableSeeder在那里,这就是为什么只有那个运行

打开此文件夹 database\seeds\DatabaseSeeder.php并在此处添加类名以运行所有播种器

编写以下代码以运行播种机文件:

public function run()
{
     $this->call(UsersTableSeeder::class);
     $this->call(ConferenceTableSeeder::class);
}

注意:您还可以使用以下代码运行特定的播种器文件:

php artisan db:seed --class=ConferenceTableSeeder

相关内容

最新更新