对工厂中的其他属性使用默认工厂属性值

时间:2020-04-06 11:32:39

标签: laravel factory faker

假设我使用工厂来创建具有2个属性的模型:

$factory->define(MyModel::class, function (Faker $faker) {
    return [
        'property1' => $faker->numberBetween(1,10),
        'property2' => $faker->numberBetween(1,10)
    ]
}

如果我设置property1的值:factory('App \ MyModel')-> create(['property1'=> 5]),但也想使用该值来计算property2的值(对于例如,属性2等于属性1 + 10),如何在工厂内部访问它?

1 个答案:

答案 0 :(得分:2)

尝试类似的方法来访问先前的属性,

$factory->define(MyModel::class, function (Faker $faker) {
    $property1 = $faker->numberBetween(1,10);
    return [
        'property1' => $property1,
        'property2' => $faker->numberBetween(1,10) + $property1
    ]
}
相关问题