Como limitar número de registros mostrado em uma tabela? Boas, pessoal! Seguinte, estou recebendo registros de uma API lumen, em uma tabela que criei para tal finalidade. Até ai, ok, está recebendo normalmente. Minha dúvida é: quero limitar a tabela a 12 registros, mas não estou conseguindo fazer isso de jeito nenhum. Já dei uma olhada em alguns artigos do Pablo e em tópicos de outras pessoas(referindo-se a TCriteria e Filter) que faziam qu...
R
Como limitar número de registros mostrado em uma tabela?  
Boas, pessoal!

Seguinte, estou recebendo registros de uma API lumen, em uma tabela que criei para tal finalidade.
Até ai, ok, está recebendo normalmente. Minha dúvida é: quero limitar a tabela a 12 registros, mas não estou conseguindo fazer isso de jeito nenhum.
Já dei uma olhada em alguns artigos do Pablo e em tópicos de outras pessoas(referindo-se a TCriteria e Filter) que faziam questionamentos parecidos, mas nada que realmente pudesse me ajudar, diretamente.

Agradeço!

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


MG

Mas o quer dizer com "limitar a tabela"?
Você deseja que ela tenha apenas 12 registros, ou a "listagem" contenha 12 registros a serem exibidos?
MG

Complementando meu post:
Para a collection você pode usar o comando abaixo:

<:php
$criteria = new TCriteeria;
....
$limit = 12;
$criteria->setProperty('limit', $limit);

$objs = $repository->load($criteria);

?>
R

Isso, limitar tabela eu quis dizer no sentido de que eu recebo MUITOS outros registros, mas só quero que apareça 12. Então, seria que a listagem tenha apenas 12 registros.

Vou testar seu comando, darei retorno.
obrigado!
R

Boa tarde,

então, acabei não conseguindo desenvolver uma lógica para desenvolver esse limite com Criteria, pois ainda tinha a questão do Repository que ainda não entendo, também.

Maaaas, resolvi de uma outra maneira, que deu SUPER certo.

segue o código para quem tiver dúvidas sobre como limitar o número de registros em uma tabela no adianti:

 
  1. <?php
  2. public function onReload(){
  3. try{
  4. //passo 1
  5. $count = 0;
  6. $this->datagrid->clear();
  7. foreach($this->pagamentos as $contents => $contentData){
  8. $count++;
  9. $item = new stdClass();
  10. $item->menspaga = $contentData['menspaga'];
  11. $item->datapaga = $contentData['datapaga'];
  12. $item->valopaga = $contentData['valopaga'];
  13. $this->datagrid->addItem($item);
  14. if($count > 12){
  15. return false;
  16. }
  17. }
  18. }
  19. catch (Exception $e)
  20. {
  21. echo 'Error: ' . $e->getMessage();
  22. }
  23. }
  24. ?>


OBS: retornei as 12 últimas mensalidades pagas pelo cliente
MG

Uma collection com "ilimit" e "repository":

 
  1. <?php
  2. $repository = new TRepository('Pagamentos'); // aqui deve ser o nome do Model
  3. $criteria = new TCriteria;
  4. $criteria->add(new TFilter('id','=',$id));; // aqui seu criterio de filtragem
  5. $criteria->setProperty('limit',12);
  6. $objs = $repository->load($criteria); // collection resultado
  7. ?>