Laravel столбец с идентификатором Befriended 'id', где предложение неоднозначно - PullRequest
0 голосов
/ 22 января 2020

Я использую Laravel Laravel Befriended для реализации пользовательского блока. Когда я фильтрую заблокированных пользователей по withoutBlockingsOf($model) с левым входом, получаю

`"message": "SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id' in where clause is ambiguous (SQL: select `users`.*, , ROUND(6371 * acos(cos(radians(22.5697)) * cos(radians(`latitude`)) * cos(radians(`longitude`) - radians(88.3697)) + sin(radians(22.5697)) * sin(radians(`latitude`)))) as distance from `users` left join `locations` as `l` on `users`.`id` = `l`.`user_id`  where `role_id` = 2 and `id` not in (691, 686) and `users`.`deleted_at` is null order by `created_at` desc limit 50)" `

Без leftJoin, все в порядке.

Контроллер:

 User::withoutBlockingsOf($user)
    ->leftJoin('locations as l', 'users.id', '=', 'l.user_id')
    ->select('users.*', DB::raw('ROUND(6371 * acos(cos(radians(' . $lat . ')) * cos(radians(`latitude`)) * cos(radians(`longitude`) - radians(' . $lng . ')) + sin(radians(' . $lat . ')) * sin(radians(`latitude`)))) as distance'))
    ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...