Esperando a garantia de pagamento

Evolvere Digital - Preciso converter uma query em Mysql para Eloquent do Laravel

Publicado em 10 de Maio de 2020 dias na TI e Programação

Sobre este projeto

Aberto

Minha query é em cima de uma tabela apenas, porem tem varios filtros, eu quero ordenar por um campo selecionado pelo usuario e quando tiver o mesmo nome os registros ficam "juntos" mas na ordem escolhida.
Exemplo :
tabela com 3 campos
id  nome      valor
1  honda      100
2  suzuki      161
3  yamaha    150
4  honda        160

query 1 = quero ordenar por menor valor e que ficasse assim:
id  nome      valor
1  honda      100
4  honda        160
3  yamaha    150
2  suzuki      161

query 2 = quero ordenar por maior valor e que ficasse assim:
id  nome      valor
2  suzuki      161
4  honda        160
1  honda      100
3  yamaha    150

nos exemplos acima consegui ter o resultado esperado com os seguintes selects


query 1 = select id, nome, valor from teste as t1
order by  (select min(valor) from teste t2 where t1.nome = t2.nome) ,valor

query 2 = Select Id, nome, valor from teste as t1
order by  (select max(valor) from teste t2 where t1.nome = t2.nome) desc,valor  desc

no meu repositorio a query se inicia assim:
$resultquery = teste::  ........ Tenho alguns when e where  por causa dos outros filtros, meu problema é na ordenação do resultado.

Categoria TI e Programação

Duração do projeto Não estabelecido