Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
Order by múltiplo Bom dia developers! Preciso ordenar uma listagem com vários campos da tabela, utilizei isso aqui do adianti mas ele só pega o ultimo parâmetro... ...
BI
Order by múltiplo  
Fechado
Bom dia developers!
Preciso ordenar uma listagem com vários campos da tabela, utilizei isso aqui do adianti mas ele só pega o ultimo parâmetro...
  1. <?php 
  2.             $param['order'] = 'data';
  3.             $param['direction'] = 'desc';
  4.             $criteria->setProperties($param); // order, offset
  5.             $param1['order'] = 'hora';
  6.             $param1['direction'] = 'desc';
  7.             $criteria->setProperties($param1); // order, offset
  8. ?>


neste caso só ordena por hora...
como faço para fazer a ordenação com vários campos da tabela?

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (4)


MG

Faça o seguinte:

$param['order'] = 'data, hora'; $param['direction'] = 'desc'; $criteria->setProperties($param);
MC

Analisando sua pergunta, acho que você pode realizar o filtro de duas maneiras, a primeira manualmente e a segunda adicionando dois critérios do tipo Tcriteria, verifique o link abaixo na aplicação tutor, onde é mostrado várias formas de pesquisa, lembrando que antes crie um bloco try cath e um prepositório

www.adianti.com.br/framework_files/tutor/index.php?class=CriteriaVie

boa sorte.
BI

Muito obrigado!
CR

  1. <?php
  2. //Pode ser assim também...
  3. $campo01 1;
  4. $campo02 2;
  5. $objeto Produto::where('campo01''='$campo01)
  6.                  ->where('campo02''='$campo02)
  7.                  ->orderBy('campo01 desc, campo02''asc')
  8.                  ->load();
  9. // Resultado:
  10. // select campo01, campo02 from produto where (campo01 = 1 and campo02 = 2) order by campo01 desc, campo02 asc
  11. ?>