CakePHP Проблема с разбиением на страницы с моделями связывания - PullRequest
1 голос
/ 30 августа 2011

Я использую модель Post.у него нет никаких ассоциаций.но для действия с нумерацией страниц мне нужно также отобразить имя пользователя, поэтому использовал $this->Post->bindModel(), чтобы прикрепить User модель к сообщениям.Но я не привязываю пользователей к сообщению в итоговом запросе.Проблема, я думаю, заключается в том, что метод paginate первоначально делает вызов, подобный find('count'), чтобы получить общее количество результатов, поэтому привязка удалена.Взгляните на мою paginate переменную

var $paginate = array(
        'limit'=>10,
        'order'=>'created DESC'
    );

В действии

$this->Post->bindModel(array(
            'belongsTo'=>array(
                'User'=>array(
                    'className'=>'User',
                    'fields'=>'User.username,User.id',
                    'foreignKey'=>'user_id'
                )
            )
        ));

$this->paginate('Post');

Ответы [ 2 ]

6 голосов
/ 05 сентября 2011

Если вы используете bindModel, после вызова метода find модель не будет привязана.

Вам необходимо добавить логическое значение false, например: bindModel (array (...), false).

Таким образом, он все еще будет связан после вызова paginateCount ...

0 голосов
/ 30 августа 2011

поля должны быть 'fields' => array (..). Но я думаю, что вы не должны указывать это.

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