我创建了一些自定义播种机,现在我试图让它们从DatabaseSeeder.php
播种,但它一次只能播种一次
<?php
use Database\seeds\CandySeeder;
use Database\seeds\ChocolateSeeder;
use Database\seeds\AlmondSeeder;
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
class DatabaseSeeder extends Seeder {
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Model::unguard();
$this->call ('FirewallModelsSeeder');
}
}
public function run()
{
Model::unguard();
$this->call ('CandySeeder', 'ChocolateSeeder', 'AlmondSeeder');
}
和
public function run()
{
Model::unguard();
$this->call arrary ('CandySeeder', 'ChocolateSeeder', 'AlmondSeeder');
}
只有CandySeeder运行= / - 我必须将我要运行的那个移动到第一个。有没有办法传递一个列表,所以他们都可以运行。我试过每行1行,但是db:seed给了我一个错误,它无法重新声明播种器
答案 0 :(得分:4)
public function run()
{
Model::unguard();
$seeders = array ('CandySeeder', 'ChocolateSeeder', 'AlmondSeeder');
foreach ($seeders $as $seeder)
{
$this->call($seeder);
}
}
只需在循环中运行调用函数
答案 1 :(得分:1)
在Laravel 5.1中:
Model::unguard();
$this->call(UsersAdminSeeder::class);
$this->call(TipoUsuarioTableSeeder::class);
Model::reguard();
答案 2 :(得分:0)
在 Laravel 8 中:
$this->call([UsersSeeder::class,RolesSeeder:class]);