如何在相关工厂中传递变量 laravel

How to pass variable in related factory laravel

我正在通过 PHP Unit on Lumen 创建测试。我尝试将变量 $name 传递给相关的工厂模板 --> 属性。

我试过这段代码,但没有用。

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

如何做到这一点?谢谢!

需要在use关键字参数中传递变量,才能在闭包函数中使用变量

$name = 'Mulyawan Sentosa';

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

更多信息,visit the PHP documentation