Как передать переменную в смежную фабрику laravel - PullRequest
1 голос
/ 30 июня 2019

Я создаю тест с помощью PHP Unit на Lumen. Я пытаюсь передать переменную $ name в связанную фабрику Template -> Attribute.

Я пробовал этот код, но не работает.

        $name = 'Mulyawan Sentosa';
        factory(TemplateModel::class)->create(
            [
                'id'    => 12
            ]
            )->each(
            function ($template) {
                $template->attributes()->save(
                    factory(TemplateattributeModel::class)->make(
                        [
                            'name'      => $name
                        ]
                    )
                );
            }
        );

Как это сделать? Спасибо!

1 Ответ

1 голос
/ 30 июня 2019

Вам нужно передать переменную внутри , использовать параметр ключевого слова , чтобы использовать переменную внутри функции закрытия.

$name = 'Mulyawan Sentosa';

factory(TemplateModel::class)->create(
            [
                'id'    => 12
            ]
        )->each(
            function ($template) use($name) {
                $template->attributes()->save(
                    factory(TemplateattributeModel::class)->make(
                        [
                            'name'      => $name
                        ]
                    )
                );
            }
        );

Для получения дополнительной информации посетите документацию PHP

...