1
私はLaravel 5.5の工場を使っていくつかのテストデータを作成しようとしています。私は、エラーメッセージ列「のuser_id」を取得し、このLaravelの別のファクトリでUserインスタンスを作成するにはどうすればよいですか?
factory('App\Thread', 3)->create();
を実行しています
Column 'user_id' cannot be null (SQL: insert into thread
s` (user_id, title, body, updated_at, created_at) values (, Quia modi
aperiam eos aut., Sed voluptate ut quia ut. Et accusamus eaque est amet. Veniam
consectetur exercitationem id facere., 2017-09-04 04:38:11, 2017-09-04 04:38:11)
)'
nullにすることはできません私のスレッドファクトリは、新しいインスタンスのユーザーを作成し、返されていないようです値。
use Faker\Generator as Faker;
$factory->define(App\Thread::class, function (Faker $faker) {
return [
'user_id' => function() {
return factory('App\User')->make()->id;
},
'title' => $faker->sentence,
'body' => $faker->paragraph,
];
});
私はユーザーファクトリを一切変更していません。私はdocumentationからコピーして貼り付けて取得できません。どんな助けでも私はこれを初めて知っているだろうし、それは単純なものだと確信しています。
スレッドファクトリで - > create()の代わりに - > create()を使用する必要があります。 –
違いは何ですか?私は3人のユーザーがどちらの方法でデータベースに追加されたのを見る。私はmakeがそれらを保存しないと思った。 – NinjaCoder