我在数据库文件夹中有一个播种器类
class UsersTableSeeder extends Seeder
{
public function run()
{
$user = new User();
$user->name = 'Name';
$user->email = 'email@gmail.com';
$user->password = bcrypt('secret');
$user->save();
}
}
当我运行php artisan db:seed
没有任何反应时,仅在我运行php artisan db:seed --class=UsersTableSeeder
时调用播种器
这意味着我必须单独调用每个播种器类,任何想法为什么db:seed
不能自行工作?
答案 0 :(得分:3)
查看database/seeds/DatabaseSeeder.php
您需要将呼叫添加到其他播种机中。
然后db:seed
将按预期运作
示例:
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$this->call(UsersTableSeeder::class);
$this->call(SecondSeedClass::class);
$this->call(ThirdSeedClass::class);
}
}
答案 1 :(得分:2)
您必须在种子文件夹中的DatabaseSeeder类中注册种子类。 run方法中的所有类都将在php artisab db:seed命令
上播种class DatabaseSeeder extends Seeder {
/**
* Run the database seeds.
*
* @return void
*/
public function run() {
$this->call(UsersTableSeeder::class);
$this->call(AnotherSeeder::class);
}
}
答案 2 :(得分:1)
您需要将其添加到DatabaseSeeder
类:
public function run()
{
$this->call(UsersTableSeeder::class);
}