为工厂内的其他属性使用默认工厂属性值

问题描述 投票:0回答:1

假设我使用工厂来创建具有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),如何在工厂内部访问它?

laravel factory faker
1个回答
2
投票

尝试使用类似方法访问以前的属性,

$factory->define(MyModel::class, function (Faker $faker) {
    $property1 = $faker->numberBetween(1,10);
    return [
        'property1' => $property1,
        'property2' => $faker->numberBetween(1,10) + $property1
    ]
}
© www.soinside.com 2019 - 2024. All rights reserved.