Paginação com Query Manual Alguém possui um exemplo de paginação com o resultado de uma query manual? ...
MF
Paginação com Query Manual  
Fechado
Alguém possui um exemplo de paginação com o resultado de uma query manual?
 
  1. <?php
  2. function onReload($param)
  3. {
  4. try
  5. {
  6. $this->datagrid->clear();
  7. $devolucao = new ValoresManualQuery;
  8. $result = $devolucao->FindDevolucaoByIDcredor(245);
  9. $count = $result->rowCount();
  10. if ($result)
  11. {
  12. while ($row = $result->fetch(PDO::FETCH_OBJ))
  13. {
  14. $item = new stdClass();
  15. $item->devolucao = TDate::date2br($row->devolucao);
  16. $item->idcredor = $row->idcredor;
  17. $item->idborderodevolucao = 'Borderô de Entrega ' . $row->idborderodevolucao;
  18. $this->datagrid->addItem($item);
  19. }
  20. }
  21. $this->pageNavigation->setCount($count); // count of records
  22. $this->pageNavigation->setProperties($param); // order, page
  23. $this->pageNavigation->setLimit(3); // limit
  24. $this->loaded = true;
  25. }
  26. catch (Exception $e) // in case of exception
  27. {
  28. new TMessage('error', '<b>Error</b> ' . $e->getMessage());
  29. }
  30. }
  31. ?>

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


PD

Oi Matheus,

Que tal transformar a query manual em uma VIEW no banco, e criar uma Active Record para manipular aquela View? Daí fica fácil paginar, pq fica no onReload padrão.

abraços,
Pablo
MF

Realmente ficou mais fácil, vlw pela dica.
MF

Oi Pablo,

Depois de muito tempo retorno ao desenvolvimento com o framework.
Não fui bem claro na explicação.
Me refiro a query manual quando estou utilizando "group by", pois não posso utilizar na view, e desconheço outra maneira de utilizar o "group by" com o model ou repository.

Grato.
PD

Neste artigo eu falo um pouco a respeito:
www.adianti.com.br/forum/pt/view_879?relatorios-com-queries-complexa
MF

Oi Pablo!

Eu já utilizo desta maneira, crio a viewers e utilizo como model. Mas eu preciso utilizar o "group by" na minha instrução, e utilizando model não tem como.
PD

O Group by é dinâmico?
MF

Não.
PD

Então não entendi.
MF

Essa é a consulta que estou fazendo. Criei uma procedure no banco, hoje uso o datagrid scroollabe que é show de bola, mas se eu quisesse usar numa grid com paginação não consegui.

SELECT c.idclasses AS codigo, c.`descricao` AS status,
COUNT(d.iddevedores) AS quantidade, cl.idclientes
FROM `classes` c, `devedores` d, `clientes` cl,`pessoas` p
WHERE
d.`classes_idstatus` = c.`idclasses`
AND d.`pessoas_idpessoas` = p.`idpessoas`
AND cl.`idclientes` = d.`clientes_idclientes`
and cl.idclientes = (PASSO O PARAMETRO)
group by status
order by quantidade desc;
PD

Essa thread ficou para trás... mas vamos lá...

Cria a view sem o filtro
CREATE VIEW view_xyz AS SELECT c.idclasses AS codigo, c.`descricao` AS status, COUNT(d.iddevedores) AS quantidade, cl.idclientes FROM `classes` c, `devedores` d, `clientes` cl,`pessoas` p WHERE d.`classes_idstatus` = c.`idclasses` AND d.`pessoas_idpessoas` = p.`idpessoas` AND cl.`idclientes` = d.`clientes_idclientes` group by status order by quantidade desc;
Cria a model em cima da view... E depois cria o TCriteria com idclientes = .... Att, Pablo