Хочу поделиться рецептами между 2 пользователями.
У меня есть следующие таблицы (упрощенно):
рецепты
id | user_id | text
пользователи
id | name
users_recipe_sharing
user_1 | user_2
Таким образом, по умолчанию контроллер должен возвращать все рецепты, сделанные пользователем (просто используя recipes.user_id). Но я также хочу проверить сводную таблицу, чтобы увидеть, является ли пользователь частью пары совместного использования, и если это так, то также выбрать все рецепты других пользователей.
До сих пор я создал функциональность для свяжите пользователей в моей пользовательской модели :
public function usersRecipeSharing() {
return $this->belongsToMany('App\User', 'users_recipe_sharing', 'user_1', 'user_2')->withTimestamps();
}
public function addUserRecipeSharing(User $user) {
$this->usersRecipeSharing()->attach($user->id);
}
public function removeUserRecipeSharing(User $user) {
$this->usersRecipeSharing()->detach($user->id);
}
Но теперь я борюсь с контроллером рецептов - как мне объединить эти таблицы, чтобы вернуть как личные рецепты, так и общие?