Получение всех записей, отношения которых не имеют определенного значения в Laravel 5.5 - PullRequest
0 голосов
/ 12 апреля 2019

У меня есть 3 связанные модели: 1) Вопрос.2) Ответ.3) Пользователь

На каждый вопрос может быть много ответов, поэтому на него могут ответить многие пользователи.

Мне нужно отфильтровать вопросы по 2 критериям:

1) получить всевопрос, на который ответил конкретный пользователь.2) получить все вопросы, на которые НЕ отвечал конкретный пользователь.

Мне удалось выполнить первый критерий по следующим параметрам:

Question::whereHas(‘Answers’, function ($query) {
    $query→where(‘user_id’, $user_id);
});

НО, как я могу удовлетворить второй критерий, используя“WhereHas”?

Я пытался:

 Question::whereHas(‘Answers’, function ($query) {
    $query→where(‘user_id’,’!=’ ,$user_id);
});

, но приведенный выше запрос неверен, поскольку несколько пользователей могут ответить на один и тот же вопрос. Так что, если на какой-либо вопрос ответили несколько пользователей, включая конкретного пользователяони также будут получены, а это не то, чего я добиваюсь.

Заранее благодарю за помощь:)

...