У меня есть следующие таблицы.
роли
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]));
})
);
});