哇,CakePHP真的没有把这个问题排序。
经过几个小时的搜索,我遇到了下面的解决方案(可能会或可能不会过时),但我在应用paginatior'limit'=>时遇到问题。 10或其他订购。
我缺少什么想法?
我的模特:
public $hasAndBelongsToMany = array(
'Post' => array(
'className' => 'Post',
'joinTable' => 'tags_posts',
'foreignKey' => 'tag_id',
'associationForeignKey' => 'post_id',
'order' => array('Post.created DESC'),
'unique' => true
)
);
在我的控制器中查看()
public function view($id) {
$this->Tag->bindModel(array('hasOne' => array('TagsPost')), false);
$this->set('tag', $this->paginate('Tag', array('TagsPost.tag_id' => $id)));
}
在我看来,我不得不改变:
foreach ($tag['Post'] as $post)
到
foreach ($tag[0]['Post'] as $post)
答案 0 :(得分:2)
您的查看方法应如下所示:
public function view($id) {
$this->Paginate['limit'] = 10;
$this->Paginate['conditions'] = array('TagsPost.tag_id' => $id);
$this->Tag->bindModel(array('hasOne' => array('TagsPost')), false);
$this->set('tag', $this->paginate('Tag'));
}
请问它是否对您不起作用。
答案 1 :(得分:0)
使用CakePHP 2.x进行测试
public function view ($id)
{
$this->paginate = array (
'limit' => 10,
'conditions' => array('TagsPost.tag_id' => $id)
);
$this->Tag->bindModel(array('hasOne' => array('TagsPost')), false);
$this->set('tag', $this->paginate('Tag'));
}