Задать вопрос
@procode
Разработчик

Как правильно в Laravel сделать отношения многие-ко-многим модели самой к себе?

Здравствуйте.

Я хочу, например, сделать опцию "Добавить в друзья", и для этого мне нужно чтобы было отношение многие ко многим в модели User, но к самой себе, так что ли?

Что обычно делают в таких случаях?

Спасибо.
  • Вопрос задан
  • 384 просмотра
Подписаться 2 Простой 17 комментариев
Решения вопроса 1
@jazzus
Делаем hasMany с User на таблицу друзей юзера
public function friends(){
        return $this->hasMany('App\Models\Friend, 'user_id', 'id');
    }

В этой таблице сделать 2 ид:
Кто добавляет в друзья (Auth:id()) поле user_id
Кого юзер добавляет в друзья - поле friend_id
В итоге методом create делаем запись при добавлении в друзья. Если юзера добавляют в друзья – аналогично.
получаем
$user->friends()->get()
$user->friends()->find($id)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы