Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Ordenar relatório tabular em ordem crescente Tenho um relatório tabular e preciso ordena-lo em ordem crescente por nome do aluno. Estou utilizando o código: ...
ET
Ordenar relatório tabular em ordem crescente  
Tenho um relatório tabular e preciso ordena-lo em ordem crescente por nome do aluno. Estou utilizando o código:

  1. <?php
  2.  $repository = new TRepository('Matricula');
  3.             $criteria   = new TCriteria;
  4.             $criteria->setProperty('order''aluno_id');
  5.             $criteria->setProperty('direction''desc');
  6.             
  7.             if ($data->ano_letivo)
  8.             {
  9.                 $criteria->add(new TFilter('ano_letivo''like'"%{$data->ano_letivo}%"));
  10.             }
  11.             if ($data->escola_id)
  12.             {
  13.                 $criteria->add(new TFilter('escola_id''='"{$data->escola_id}"));
  14.             }
  15.             if ($data->aluno_id)
  16.             {
  17.                 $criteria->add(new TFilter('aluno_id''='"{$data->aluno_id}"));
  18.             }
  19.             if ($data->serie_id)
  20.             {
  21.                 $criteria->add(new TFilter('serie_id''='"{$data->serie_id}"));
  22.             }
  23.             if ($data->modalidade_nivel_id)
  24.             {
  25.                 $criteria->add(new TFilter('modalidade_nivel_id''='"{$data->modalidade_nivel_id}"));
  26.             }
  27.             if ($data->turno_id)
  28.             {
  29.                 $criteria->add(new TFilter('turno_id''='"{$data->turno_id}"));
  30.             }
  31. ?>


Mas está sendo ordenado pelo número do id do aluno, alguém pode me ajudar?
Desde já agradeço.

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 (3)


LA

acho que vai ter que criar uma view no banco de dados

  1. <?php
  2. $repository = new TRepository('nome_view');
  3. $criteria   = new TCriteria;
  4. $criteria->setProperty('order''aluno_nome');
  5. $criteria->setProperty('direction''asc');
  6. <?
NR

Também pode usar subselect:
  1. <?php
  2. $criteria->setProperty('order''(SELECT nome from aluno where id = aluno_id)');
  3. ?>
CM

Eu usei assim e funciona perfeitamente:

Abaixo da function onGenerate(),/b>

  1. <?php
  2. $repository = new TRepository('Compras');
  3. $criteria   = new TCriteria;
  4. $criteria->setProperty('order''data_compra');
  5. $criteria->setProperty('direction''asc');
  6.  ?>