Помогите ORM описать корректно для друзей и черного списка. Сделал таблицу relationships, в ней поля
user_one_id | user_two_id | status | action_user_id
user_one_id и user_two_id - это foreign keyи к таблице users. status_id может быть 0 - отправлен запрос, 1 - принят, 2 - отклонен, 3 - заблокирован. action_user_id - это id юзера, кто последний совершил действие.
Логика вставки записи в таблицу такая, что user_one_id < user_two_id, чтобы избежать дублей записей.
Пытаюсь в ORM описать метод friends, чтобы получить всех друзей юзера
public function friends()
{
return $this->belongsToMany(User::class, 'relationships', 'id', 'user_one_id')
->orWhere('user_two_id', $this->id)->whereStatus(1);
}
но это дело не работает. Создается запрос, которые пытается джоинить текущего юзера с user_one_id и получаю пустой результат.