Cakephp - разбиение на страницы данных из другой модели - PullRequest
4 голосов
/ 03 февраля 2011

Я пытаюсь выполнить нумерацию страниц с контроллера размещения, но с данными из модели MemberWall.

вот код

Accommodation

$data = $this->Accommodation->Member->MemberWall->paginate('MemberWall');

MemberWall

var $paginate = array(
 'limit' => 4,
 'order' => array(
   'MemberWall.created' => 'asc'
 )
); 

Я получаю эту ошибку

SQL Error: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use nea....   Query: paginate 

Спасибо, Алекс

Ответы [ 4 ]

17 голосов
/ 18 мая 2012

Вот РЕАЛЬНЫЙ ответ.

$data = $this->paginate($this->Accommodation->Member->MemberWall);

У меня тоже были проблемы с поиском в документацииВы действительно можете передать объект модели в метод paginate.

8 голосов
/ 25 мая 2012

Я пробовал, и это работает обоими способами:

$this->paginate('MemberWall');

$this->paginate($this->Accommodation->Member->MemberWall);

В моем коде я использую что-то вроде;

$this->loadModel('MemberWall');

$this->paginate = array(.....);

$data = $this->paginate('MemberWall');

0 голосов
/ 03 февраля 2011
  1. Массив paginate MemberWall $ (ваш второй фрагмент) выглядит так, как будто он определен в member_walls_controller.php. Он не будет доступен из Accommodationations_controller.php

  2. $this->Accommodation->Member->MemberWall->paginate('MemberWall'); вызывает метод для MemberWall модель .paginate () - это метод контроллера.

  3. Чтение Разбивка на пользовательские запросы , особенно последний раздел.

  4. Я не уверен, что вы можете разбивать страницы так далеко в отношениях, и это указывает на то, что вам, вероятно, нужно переосмыслить свою модель данных и логику.

  5. Руководство 1.2 лучше написано на эту тему.

0 голосов
/ 03 февраля 2011

$ this-> постраничной ( 'MemberWall');iirc как это работает

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