我正在与CakePHP HABTM的关系中挣扎,我被困在做一个看似简单的任务上。我有很多营地和许多NewsItems。每个NewsItem都可能与任何一个阵营相关,所以当用户创建一个NewsItem时,他们会检查该项目用于哪个营地。这就是我的想法。
所以..。
我想在我的NewsItems视图中加入一些营地过滤。换句话说,我希望看到与"A“营和"B”营有关的所有NewsItems。
在“查找”和“分页”函数中添加条件就像一种魅力。
然而..。
如果一个NewsItem属于多个阵营,它会在列表中出现多次。所以当我告诉find给我所有属于"A“营和"B”营的NewsItems时,属于"A“营和"B”营的NewsItem就会出现两次。
调试查询如下所示:
<
>从<
NewsItem>D13中选择<NewsItem>D12user_id>D13作为<NewsItem>D14左联接users作为User作为NewsItem。d18=User。d20离开D21作为D22代码(D23>代码><代码代码>代码>代码>代码>代码>代码>代码>代码>代码>代码>代码>代码>代码>NewsItem>代码>代码>NewsItem><NewsItem>D20>;D20)( 5) NewsItem.modified desc的命令限制10
从D 43中选择Camp.id、Camp.name、Camp.created、Camp.modified、CampsNewsItem.camp_id、CampsNewsItem.news_item_id作为Camp连接camps_news_items作为CampsNewsItem在(CampsNewsItem.news_item_id和CampsNewsItem中CampsNewsItem.camp_id =d51代码.id。
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);谢谢你的洞察力!
发布于 2010-02-19 04:00:48
试试这个:
$params['group'] = array('NewsItem.id');https://stackoverflow.com/questions/2293896
复制相似问题