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 Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework 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. ?>