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 также.

Другие вопросы по тегам