将变量(非属性)传递给laravel工厂创建方法
这里是拉威尔7号 是否可以将变量传递到工厂,并将该变量传递到另一个级别 下面是我将生成的工厂:将变量(非属性)传递给laravel工厂创建方法,laravel,Laravel,这里是拉威尔7号 是否可以将变量传递到工厂,并将该变量传递到另一个级别 下面是我将生成的工厂: $factory->define(CustomerReview::class, function (Faker $faker) { return [ 'customer_id' => function() { return factory('App\Customer')->create($PASS_VARIABLE_HERE)->
$factory->define(CustomerReview::class, function (Faker $faker) {
return [
'customer_id' => function() {
return factory('App\Customer')->create($PASS_VARIABLE_HERE)->id;
},
'review_request_id' => function() {
return factory('App\ReviewRequest')->create()->id;
},
'nps' => $faker->numberBetween($min = 0, $max = 10),
'feedback' => $faker->text()
];
});
注意这一部分:
'customer_id' => function() {
return factory('App\Customer')->create($PASS_VARIABLE_HERE)->id;
},
CustomerFactory
是
$factory->define(Customer::class, function (Faker $faker) {
return [
'location_id' => function() {
return factory('App\Location')->create()->id;
},
'first_name' => $faker->firstName,
'last_name' => $faker->lastName,
'email' => $faker->unique()->safeEmail,
];
});
我已经创建了一个位置,需要从CustomerReviewFactory
向下传递到CustomerFactory
换句话说,我想将$location->id
传递到CustomerReviewFactory
中,然后将其传递到生成的CustomerFactory
$review=factory('App\CustomerReview')->创建([],$EXISTING\u LOCATION\u ID)代码>不清楚您是如何在CustomerReviewFactory
中找到位置的,但您可以使用。
$factory->define(CustomerReview::class, function (Faker $faker) {
$location = 'SOMETHING';
return [
'location' => $location,
'customer_id' => function() {
return factory('App\Customer')->create(['location' => $location])->id;
},
'review_request_id' => function() {
return factory('App\ReviewRequest')->create()->id;
},
'nps' => $faker->numberBetween($min = 0, $max = 10),
'feedback' => $faker->text()
];
});