Как получить связанные значения модели с DB :: raw (MAX) в Laravel Eloquent? - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь получить соответствующие значения модели «Пользователь» в этом запросе.

$notify = Ask::select(DB::raw('MAX(id) As id'))
->where('q_id', $request->qid)
->whereNotIn('user_id', [auth()->id()] )
->groupBy('q_id','user_id')->get();

Итак, я добавил, как показано ниже, чтобы получить 'user.email':

$notify = Ask::with('user')->select(['user.email', DB::raw('MAX(id) As id')])
->where('q_id', $request->qid)
->whereNotIn('user_id', [auth()->id()] )
->groupBy('q_id','user_id')->get();

Также я пробовал:

$notify = Ask::with('user')->select(DB::raw('MAX(id) As id, user.email'))
->where('q_id', $request->qid)
->whereNotIn('user_id', [auth()->id()] )
->groupBy('q_id','user_id')->get();

И оба получили ошибку SQLSTATE[42S22]: Column not found. Итак, что мне делать, чтобы получить значения модели User? Спасибо.

1 Ответ

0 голосов
/ 09 июля 2020

** РЕШЕНО **

$notify = Ask::with('user')->select(DB::raw('MAX(id) As id, user_id'))

И это сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...