что следует вводить в скобках $ this-> paginate () - PullRequest
0 голосов
/ 07 июля 2010

Я использую CakePHP 1.26.Я занимаюсь самообучением по нумерации страниц в CakePHP.

Я протестировал следующий код на моем локальном хосте, и он работает нормально.Я немного изменил вторую строку кода и обнаружил, что ничего не изменилось в результате.

1-я версия:

$this->paginate=array('conditions'=>array('Testing.zero'=>'0'), 'limit' => 3);
$w = $this->paginate(); 
$this->set('postVariable', $w);

2-я версия:

$this->paginate=array('conditions'=>array('Testing.zero'=>'0'), 'limit' => 3);
$w = $this->paginate('Testing'); 
$this->set('postVariable', $w);

3-я версия:

$this->paginate=array('conditions'=>array('Testing.zero'=>'0'), 'limit' => 3);
$w = $this->paginate('helloworld'); 
$this->set('postVariable', $w);

4-я версия:

$this->paginate=array('conditions'=>array('Testing.zero'=>'0'), 'limit' => 3);
$w = $this->paginate($this->helloworld); 
$this->set('postVariable', $w);

Я не знаю, что мне следует вводить в скобках $ this-> paginate ()

Ответы [ 2 ]

3 голосов
/ 07 июля 2010

В документации все сказано: http://api.cakephp.org/class/controller#method-Controllerpaginate

Первый параметр - это имя модели, второй параметр - это область действия, то есть массив дополнительных условий. Третий параметр в настоящее время бесполезен.

1 голос
/ 07 июля 2010

Функцию paginate можно найти в /cake/libs/controller/controller.php, строка 934. Она немного длинная, но не такая сложная. И я думаю, что вы можете прочитать ее и найти причину самостоятельно. Лично я предпочитаю название текущей модели в качестве параметра . В вашем коде это будет

$w = $this->paginate("Testing"); 
...