如何在laravel中使用种子和工厂时创建自己的参数

时间:2019-11-14 11:55:20

标签: php laravel

我想创建四个表中默认的畜栏。因此,它只有ID和名称。每个畜栏的名称应为“ Corral 1”,“ Corral 2”,“ Corral 3”,“ Corral 4”。数字1、2、3、4应该取自id。我知道我可以手动处理种子,但是我想使用factory获得更干净的代码。现在,我的工厂看起来像:

$factory->define(App\Corral::class, function (Faker $faker) {
    return [
        'name' => $faker->name,
    ];
});

1 个答案:

答案 0 :(得分:1)

如果只需要一次,请在工厂中运行4次并传递所需的数据。如果您经常需要-最简单的选择是创建一个种子创建器,该种子创建器创建4个模型,然后在需要时以setUp方法或测试方法运行它。

// Seeder
for ($i = 0; $i < 5; $i++) {
    factory(Corral::class)->create([
        'id' => $i,
        'name' => "name {$i}",
    ]);
}

// Test
$this->seed(YourCorralSeeder::class);