CONSULTA ELOQUENT COMO FAZER?
Tenho está tabela positions conforme a imagem https://uploaddeimagens.com.br/imagens/BuitJnY , preciso filtrar o maior datetime de cada vehicle, agrupado pelo vehicle_id, como faço isso em laravel usando eloquente.
TIpo resultado esperado:
vehicle_id = 76, datetime_write = 2021-07-02 20:59:25
vehicle_id = 77, datetime_write = 2021-06-29 09:58:15
ou seja 1 de cada ID, ordenado pela maior datatime.
imagem atualizada: https://uploaddeimagens.com.br/imagens/ChaYp9E
Olá, Wellson!
Tudo bem?
Você trouxe um problema bem particular para mim resolver para você. Pergunto amigo, você já tem algo em andamento?
Já tem a query pré montada? Precisamos trabalhar em cima de um erro, de uma dúvida, de algo mais especifico :-)
No aguardo amigo.
O resultado esperado é este https://uploaddeimagens.com.br/imagens/4m7G77M
SELECT * FROM positions A JOIN (
SELECT max(positions.datetime_write) AS datetime_write, vehicle_id
FROM positions
GROUP BY vehicle_id) AS B ON
A.vehicle_id = B.vehicle_id AND
A.datetime_write = B.datetime_write
É possível montar usando o Eloquent, mas você vai ter um bom trabalhinho até chegar no resultado (assista o curso de Laravel Repositories, super recomendo)
Para esse caso, como não passa values é possível simplificar com RAW SQL:
$result = DB::select("sua query aqui");
dd($result);
Mas, usa repositories, super recomendo esse curso amigo: https://academy.especializati.com.br/curso/laravel-repositories
E esse daqui também: https://academy.especializati.com.br/curso/laravel-graficos
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!