Один класс сеялки работает, а другой не работает, знаете почему?
Я создал два класса сеялки "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',
...
]);
}
}
2 ответа
Вам нужно добавить ConferenceTableSeeder::class
к database\seeds\DatabaseSeeder.php
файл
public function run()
{
$this->call(UsersTableSeeder::class);
$this->call(ConferenceTableSeeder::class);
}
Когда ты бежишь php artisan db:seed
это вызывает run
метод в DatabaseSeeder
класс, который, в свою очередь, вызывает файлы сеялки там
UsersTableSeeder
там по умолчанию, поэтому только тот побежал
Откройте эту папку database\seed \DatabaseSeeder.php и добавьте сюда имя класса, чтобы запустить все сеялки
напишите приведенный ниже код для запуска файлов сеялки:
public function run()
{
$this->call(UsersTableSeeder::class);
$this->call(ConferenceTableSeeder::class);
}
Примечание: вы также можете запустить определенный файл сеялки, используя следующий код:
php artisan db:seed --class=ConferenceTableSeeder