Yii Framework Forum: Paginação com findBySql - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Paginação com findBySql Rate Topic: -----

#1 User is offline   Edivaldo Reis 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 28
  • Joined: 22-March 12

Posted 16 August 2012 - 03:53 PM

Consigo fazer a paginação com findAll();

No entanto, quando uso o findBySql(), percebo que a paginação não funciona corretamente. Pois a paginação lista todos os registros da tabela.

Como devo fazer a paginação com findBySql ???
0

#2 User is offline   Dyego Nery 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 105
  • Joined: 26-August 11

Posted 17 August 2012 - 06:15 AM

posta seu codigo ai pra gente dar uma olhada cara.

abraço
http://www.emuitocarro.com.br - Classificado Online de Veículos


http://www.yiibrasil.com.br - Blog com dicas e tutoriais sobre o Yii Framework.
0

#3 User is offline   Edivaldo Reis 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 28
  • Joined: 22-March 12

Posted 17 August 2012 - 09:19 AM

Estou postando o código.

O nome da action e do model são fictícios.

        public function actionTatu_Bola()
	{

        $criteria = new CDbCriteria();
        $count = CascaAzul::model()->count($criteria);
        $pages = new CPagination($count);

        $pages->pageSize = 5;
        $pages->applyLimit($criteria);
        $models = CascaAzul::model()->findBySql("select * from casa");
        
        $this->render('index', array(
            'models' => $models,
            'pages' => $pages
        ));
	}

0

#4 User is offline   Newerton 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 821
  • Joined: 27-April 10
  • Location:Campo Grande/MS - Cambé/PR, Brasil

Posted 17 August 2012 - 10:53 AM

Edivaldo,

Nos resultados você está usando uma CGridView ou CListView?
Newerton Vargas de Araújo
0

#5 User is offline   Edivaldo Reis 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 28
  • Joined: 22-March 12

Posted 17 August 2012 - 11:49 AM

View PostNewerton, on 17 August 2012 - 10:53 AM, said:

Edivaldo,

Nos resultados você está usando uma CGridView ou CListView?


Estou usando o CLinkPager

<?php
    $this->widget('CLinkPager', array(
        'pages' => $pages,
    ));
    ?>

0

#6 User is offline   Edivaldo Reis 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 28
  • Joined: 22-March 12

Posted 22 August 2012 - 02:10 PM

Esse código vai no controller:
public function actionTatu_Bola()
        {

        $criteria = new CDbCriteria();
        $count = CascaAzul::model()->count($criteria);
        $pages = new CPagination($count);

        $pages->pageSize = 5;
        $pages->applyLimit($criteria);
        $models = CascaAzul::model()->findBySql("select * from casa where tipo = '1' AND testada = '99' AND terreno = '18' AND modelo = '1' AND data_construcao between '2012-05-01' AND '1965-01-01'");
        
        $this->render('index', array(
            'models' => $models,
            'pages' => $pages
        ));
        }


E esse vai na view:
<?php
$this->widget('CLinkPager', array(
    'pages' => $pages,
));
?>


O erro é que a paginação não pagina os dados de acordo com comando definido no findBySql.

A paginação é feita como se todos os dados da bela estivessem sendo selecionados.
0

#7 User is offline   Newerton 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 821
  • Joined: 27-April 10
  • Location:Campo Grande/MS - Cambé/PR, Brasil

Posted 22 August 2012 - 04:31 PM

Edivaldo,

Você seguiu esta lógica aqui?

http://www.yiiframew...1.1/CPagination

This post has been edited by Newerton: 22 August 2012 - 04:34 PM

Newerton Vargas de Araújo
0

#8 User is offline   Joaqjs 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 15-October 12

Posted 15 October 2012 - 09:13 PM

Ola, to chegando agora para conhecer o YII anteriormente usava o cakephp
Como o cake o Yii também faz a paginação de resultados de busca ao banco de dados

Agora eu queria saber se eu também posso facilmente fazer paginação de dados tabulados, os quais
foram criados dinamicamente na execução do programa... exemplo um array de array no meu caso
o array tem dentro dele outros 350 array, os quais não
são relevante colocar em uma tabela no banco
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users