前提
- Laravel 5.4
- php7
実現したいこと
ModelFactoryでそれぞれのモデルの生成を定義付けした時、define内の変数のみ変えたい
(returnの結果をcreateでオーバーライドしたいわけではない)
例えば、以下の定義の時、
php
1$factory->define(App\ORM\Test::class, function (Faker\Generator $faker) 2{ 3 $a = mt_rand(0, 99); 4 $b = mt_rand(0, 99); 5 $ans = $a + $b; 6 return [ 7 'ans' => $ans 8 ]; 9});
変数$a
のみfactory(\App\ORM\Test::class, 1)->create();
で上書きしたい(値渡し)
現状、上書きするためにfactory()->create();
する前に、以下の計算をしてcreate([]);
でそれぞれオーバーライドしています
$a = mt_rand(0, 99); $b = mt_rand(0, 99); $ans = $a + $b;
実装を見る限りできなさそうなのですが、できるかできないか、できるならばどのようにするのが良いのかをご教示願います。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。