将变量(非属性)传递给laravel工厂创建方法

将变量(非属性)传递给laravel工厂创建方法,laravel,Laravel,这里是拉威尔7号 是否可以将变量传递到工厂,并将该变量传递到另一个级别 下面是我将生成的工厂: $factory->define(CustomerReview::class, function (Faker $faker) { return [ 'customer_id' => function() { return factory('App\Customer')->create($PASS_VARIABLE_HERE)->

这里是拉威尔7号

是否可以将变量传递到工厂,并将该变量传递到另一个级别

下面是我将生成的工厂:

$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()
    ];
});