我正在尝试从住宿控制器进行分页,但是使用来自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
谢谢,Alex
答案 0 :(得分:17)
这是真正的答案。
$data = $this->paginate($this->Accommodation->Member->MemberWall);
我也很难在文档中找到这个。您实际上可以将模型对象传递给paginate方法。
答案 1 :(得分:8)
我已经尝试过并且它在两个方面都有效:
$this->paginate('MemberWall');
$this->paginate($this->Accommodation->Member->MemberWall);
在我的代码中,我使用类似的东西;
$this->loadModel('MemberWall');
$this->paginate = array(.....);
$data = $this->paginate('MemberWall');
答案 2 :(得分:0)
$这 - >分页( 'MemberWall'); iirc是它的工作方式
答案 3 :(得分:-2)
MemberWall $ paginate数组(您的第二个代码段)看起来像是在member_walls_controller.php中定义的。从accommodation_controller.php无法访问它
$this->Accommodation->Member->MemberWall->paginate('MemberWall');
正在调用MemberWall 模型上的方法。 paginate()是一种控制器方法。
阅读Custom-Query-Pagination,特别是最后一部分。
我不确定你是否可以在关系中分页,它告诉我你可能需要重新考虑你的数据模型和逻辑。
1.2 manual最好写在这个主题上。