我有下表。
角色
id | name
1 role1
2 role2
3 role3
用户
id | name | email | password
餐厅
id | user_id | name | description
评论
id | restaurant_id | user_id | rating | comment
回复
id | review_id | user_id | comment
主要注意事项*
1)在餐厅表中,仅必须存储具有以下内容的user_id role_id为2
2)在评论表中,仅必须存储具有以下内容的user_id role_id 1
3)在回复表中,仅必须存储具有以下内容的user_id role_id 1或2。
写工厂种子最好的方法是什么?以下方法是否正确?但这不起作用,并告诉我 user_id没有默认值。我该如何做到这一点?
factory(App\Http\Models\User::class, 3)->create(['role_id'=>1]);
factory(App\Http\Models\User::class,3)->create(['role_id'=>2])->each(function ($user) {
$user->restaurants()->saveMany(
factory(App\Http\Models\Restaurant::class,5)->create()->each(function ($restaurant) {
$restaurant->reviews()->saveMany(factory(App\Http\Models\Review::class, 5)->create(['user_id', $user->id]));
})
);
});