如何解决一个控制器中有多个分页
在同一个控制器中可以使用多个than0ѭ变量吗? 我的问题是我在链接和标签之间有一个hasAndBelongsToMany-Relation。 我自定义了分页选项,以便与habtm一起使用:public $paginate = array(
\'limit\' => 25,\'joins\' => array(
array(
\'table\' => \'links_tags\',\'type\' => \'inner\',\'alias\' => \'LinkTag\',\'conditions\' => array(
\'Link.id = LinkTag.link_id\'
)
)
));
它可以正常工作,但还有另一项操作也应该分页。在此操作中,没有可用的标签,因此每个链接的显示频率与该链接的links_tags表中的条目相同。
解决此问题的最简单方法是使用第二个$paginate
变量,但我没有找到解决方法。
解决方法
设置$ paginate变量后,可以按照各种方式来自定义分页方法,例如Cake Cookbook中的示例:
function list_recipes() {
$this->paginate = array(
\'conditions\' => array(\'Recipe.title LIKE\' => \'a%\'),\'limit\' => 10
);
$data = $this->paginate(\'Recipe\');
$this->set(compact(\'data\'));
);
我还没有测试过,但是我想您可以将诸如联接之类的东西放到$ this-> paginate调用中,而不是$ paginate变量中,从而从一个动作到另一个动作。嗯,我必须看看这是否有效-对我来说知道如何做这种事情以供以后使用可能非常有用!
, 根据Cake Book的分页页面(HERE),您可以为不同的模型设置不同的页面变量(都在同一控制器中):
实际上,您可以定义多个
中的默认分页集
控制器,您只需要命名
您想要的模型之后的阵列的
配置:
class RecipesController extends AppController {
var $paginate = array(
\'Recipe\' => array (...),\'Author\' => array (...)
);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。