Laravel 工厂 - 在工厂状态下使用

Laravel Factory - use if state in factory

我想为我的一个模型创建一个 Laravel 工厂。我的模型有两个字段 ( is_used , update_time )

如果is_used的结果等于1,我想填写我的update_time

我像下面的代码一样创建了我的 is_used faker 并且想要在我的 is_used 等于 1

时填充我的 update_time
'is_used' => $faker->randomElement([0, 1]),

感谢帮助

假设您的 update_time 字段可以为空:

$factory->define(SomeModel::class, function (Faker $faker) {
    $is_used = $faker->randomElement([0, 1]);
    return [
        'update_time' => $is_used === 1 ? now() : null,
        'is_used' => $is_used,
    ];
});