Ordenação de múltiplas colunas com Laravel

Usando uma sequência de OrderBy podemos modificar a forma de retorno da nossa consulta.

Simplificando o desenvolvimento de APIs PHP com Swagger

Vamos imaginar a seguinte situação: você tem uma tabela de produtos e precisa retornar as informações em ordem alfabética e também pelo maior preço, em uma consulta SQL teríamos algo como o script abaixo.

SELECT id, nome, preco, quantidade_estoque FROM produto ORDER BY nome ASC, preco DESC

Okay, o código acima é funcional e não está errado, mas estamos usando o Eloquent e precisamos da consulta através de seus mecanismos, mas para isso, basta usar sequencialmente o método orderBy, sendo que o primeiro parâmetro corresponde ao nome da coluna e o seguindo a forma de ordenação, como DESC ou ASC, por exemplo.

Produto::orderBy('nome',  'ASC')->orderBy->('preco', 'DESC')->get();

E assim finalizamos esse breve artigo.

Nos vemos na próxima.