CakePHP和HABTM标记过滤
我正在为CakePHP-HABTM关系绞尽脑汁,我一直在努力完成一项看似简单的任务。我有很多营地和新闻。每个新闻项目都可能与任何营地相关,因此当用户创建新闻项目时,他们会检查该项目用于哪个营地。这就是我的想法 所以 我想在我的NewsItems视图中加入一些营地过滤。换言之,我希望看到与“A”营和“B”营相关的所有新闻 向“find”和“paginate”函数添加条件就像一个符咒 然而 如果一个新闻项目属于多个阵营,它会在列表中出现多次。因此,当我告诉find给我所有属于Camp“A”和Camp“B”的新闻条目时,属于Camp“A”和Camp“B”的新闻条目将出现两次 调试查询如下所示:CakePHP和HABTM标记过滤,cakephp,filtering,has-and-belongs-to-many,Cakephp,Filtering,Has And Belongs To Many,我正在为CakePHP-HABTM关系绞尽脑汁,我一直在努力完成一项看似简单的任务。我有很多营地和新闻。每个新闻项目都可能与任何营地相关,因此当用户创建新闻项目时,他们会检查该项目用于哪个营地。这就是我的想法 所以 我想在我的NewsItems视图中加入一些营地过滤。换言之,我希望看到与“A”营和“B”营相关的所有新闻 向“find”和“paginate”函数添加条件就像一个符咒 然而 如果一个新闻项目属于多个阵营,它会在列表中出现多次。因此,当我告诉find给我所有属于Camp“A”和Camp
$camp_ids = array(1, 3, 6, 10);
$conditions = array('CampsNewsItem.camp_id' => $camp_ids);
$params['conditions'] = $conditions;
$this->NewsItem->bindModel(array('hasOne' => array('CampsNewsItem')));
$news_items = $this->NewsItem->find('all', $params);
选择<代码>新闻项目<代码>id<代码>,<代码>新闻项目<代码>用户id<代码>,<代码>新闻项目<代码>标题<代码>,<代码>新闻项目<代码>正文<代码>,<代码>新闻项目<代码>修改<代码>,User
first\u name
FROMnews\u items
ASnews items
usersASUser
ON(NewsItem
User idid
)左侧加入camps\u news\u items
ASCampsNewsItem
ON(CampsNewsItem
news\u item\u id
=NewsItem
id
)其中CampsNewsItem
camp\u id
按NewsItem
修改说明限制10
选择Camp
id
,Camp
name
,Camp
创建的,Camp
修改的,CampsNewsItem
,CampsNewsItem
news\u item\u id
作为camps
加入camps\u项目CampsNewsItem
ON(CampsNewsItem
news\u item\u id
IN(6,6,7,8)和CampsNewsItem
camp\u id
id
)其中1=1
php代码如下所示:
$camp_ids = array(1, 3, 6, 10);
$conditions = array('CampsNewsItem.camp_id' => $camp_ids);
$params['conditions'] = $conditions;
$this->NewsItem->bindModel(array('hasOne' => array('CampsNewsItem')));
$news_items = $this->NewsItem->find('all', $params);
感谢您的帮助!尝试以下方法:
$params['group'] = array('NewsItem.id');
你知道如何让它与paginate助手一起正常工作吗?