猿问

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

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


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


        $name = 'Mulyawan Sentosa';

        factory(TemplateModel::class)->create(

            [

                'id'    => 12

            ]

            )->each(

            function ($template) {

                $template->attributes()->save(

                    factory(TemplateattributeModel::class)->make(

                        [

                            'name'      => $name

                        ]

                    )

                );

            }

        );


这该怎么做?谢谢!


慕的地10843
浏览 110回答 1
1回答

忽然笑

您需要在use关键字参数中传递变量才能使用闭包函数中的变量。$name = 'Mulyawan Sentosa';factory(TemplateModel::class)->create(            [                'id'    => 12            ]        )->each(            function ($template) use($name) {                $template->attributes()->save(                    factory(TemplateattributeModel::class)->make(                        [                            'name'      => $name                        ]                    )                );            }        );有关更多信息,请访问 PHP 文档
随时随地看视频慕课网APP
我要回答