Итак, у меня есть этот очень большой поисковый запрос, и я также пытаюсь удалить всех пользователей из поиска, которые заблокировали поиск пользователя.Laravel 5.2 WhereNotIn query
Я очень запутался и обернулся и буду рад любой помощи.
В таблице blocked_users содержит
id
user_id
blocked_user_id
, когда пользователь блокирует другого пользователя создается строка. Теперь до сих пор я замечаю, что пользователь не заблокировал кого-либо, которого они вообще не обнаруживают в поиске (мое предположение из-за соединения, если пользователь не существует в таблице, тогда они появляются вверх.)
здесь короткий фрагмент моего запроса
$query = User::join('user_profiles', 'users.id', '=','user_profiles.user_id');
$query->Join('blocked_users', 'users.id', '=', 'blocked_users.user_id');
$query->whereNotIn('blocked_users.blocked_user_id',[Auth::user()->id])->select('users.*','user_profiles.*');
EDIT
ИТАК Если мой идентификатор пользователя 1, и пользователь 2 не желает мне связаться с ними больше или даже шоу в моем поиске, Они заблокировали бы меня, что бы добавить строку в таблицу
int, user_id = 2, blocked_user_id = 1
Если я выполняю поиск, я не хочу, чтобы пользователь 2 отображался в поиске пользователя 1s.
Однако с левым джойном Нет пользователей, если мой идентификатор пользователя находится в любой строке заблокированного__сервера, независимо от пользователя, который заблокировал меня.
Я не уверен, как еще я могу дать визуальные данные. весь запрос довольно массивный и работает отлично. Я просто не уверен, как объединить предложение where.
Спасибо, получить немного ошибки. - BadMethodCallException в строке Builder.php 2345: Вызов неопределенного метода Illuminate \ Database \ Query \ Builder :: id() –
Спасибо, что он работает! –