【发布时间】:2014-04-15 06:51:50
【问题描述】:
我在使用 Cake 中可包含的嵌套模型分页时遇到问题...
我有三个模型:Category,CompanyCategory,Company,关联是这样的
Category hasMany CompanyCategory
CompanyCategory belongsTo Category
CompanyCategory belongsTo Company
Company hasMany CompanyCategory
我使用contain获取数据,如下图:
$options = [
'conditions' => ['Category.slug' => $slug],
'contain' => [
'CompanyCategory.Company.CompanyAddress'
]
];
return $this->find('first', $options);
一切正常,直到我想对嵌套模型 - Company 进行分页。我将 CategoriesController 与 show 方法一起使用,它使用所选类别和关联公司(Company hasMany Categories 和 Category hasMany Companies)呈现视图。
我尝试过这样的事情:
$this->Paginator->settings = [
'limit' => 1,
'order' => [
'id' => 'asc'
],
'contain' => array('CompanyCategory.Company')
];
$data = $this->Paginator->paginate('Category.CompanyCategory.Company', array('Category.slug LIKE' => $slug));
$this->set('category', $data);
但这对我不起作用:(
有什么建议/帮助吗?
【问题讨论】:
-
嵌套模型是什么意思? btw模型的关系是什么?
-
我的意思是嵌套关联。 Category hasManyCompanyCategory(Category 和 Company 之间的链接表),CompanyCategory belongsTo Category 和 belongsTo Company。公司有很多公司类别。这很好用,但我不知道如何为公司实现分页。
-
为什么不建立公司 HABTM 类别的关系。这可以解决你的问题
-
我尝试使用 HABTM,但仍然得到分页的类别而不是公司,如下例所示
-
你想给公司分页,对吧?
标签: php cakephp pagination model-associations containable