LARAVEL MYSQL как использовать натуральный JOIN
Мне нужно возвращение в коллекции для разбивки на страницы, но я могу только возвращать в массиве, потому что запрос использует естественный JOIN. Как я могу сделать этот запрос, используя коллекции Laravel:
ВЫБЕРИТЕ mensagens.* ИЗ МЕНСАГЕНОВ ЕСТЕСТВЕННОЕ СОЕДИНЕНИЕ (ВЫБЕРИТЕ id_emissor, МАКС. (Созданный_атт) созданный_от ОТ МЕНСАГЕНОВ ГДЕ id_receptor = ".$ User_id." GROUP BY id_emissor) t
Я использовал этот код:
$ mensagem = \ DB:: select (DB:: raw ("ВЫБРАТЬ mensagens.* ИЗ МЕНСАГЕНОВ ЕСТЕСТВЕННОЕ СОЕДИНЕНИЕ (ВЫБЕРИТЕ id_emissor, MAX(made_at) made_at ИЗ МЕНСАГЕНОВ WHERE id_receptor = ".$user_id." GROUP BY id_emissor) t "));
1 ответ
Если вы хотите использовать свой запрос как есть, используйте вот так:
\DB::raw("SELECT mensagens.* FROM mensagens NATURAL JOIN ( SELECT id_emissor, MAX(created_at) created_at FROM mensagens WHERE id_receptor = ".$user_id." GROUP BY id_emissor) t");
Еще вы можете использовать Eloquent также.