我尝试以下操作以获取属于MenuItem 6的文章,并且文章content_type为'blog'。它确实可以找到content_type='blog'
的所有文章。但我只希望它返回文章,如果它属于Menuitem 7.现在它返回一个空值为MenuItem,当不是7时。Cakephp查找多个模型上的所有查询
我该如何做到它只会从MenuItem 7加载文章?
菜单项与第一个HABTM关系
代码:
$d=$this->Article->find('all' , array('contain' => array(
'MenuItem' => array(
'conditions' => array(
'MenuItem.id ' => 7,
),
'fields'=>'id'
),
'Tag'=>array(
'conditions'=>array(
'Tag.name'=>'tag1'
),
'fields'=>'name'
)
),
'conditions'=>array('Article.content_type' => 'blog'),
'fields'=>array('id','content_type'),
'recursive'=>1
));
debug($d);
阵列:
array(
(int) 10 => array(
'Article' => array(
'id' => '15',
'content_type' => 'blog'
),
'Tag' => array(),
'MenuItem' => array()
),
(int) 11 => array(
'Article' => array(
'id' => '16',
'content_type' => 'blog'
),
'Tag' => array(),
'MenuItem' => array(
(int) 0 => array(
'id' => '7',
'MenuItemsArticle' => array(
'id' => '18',
'title' => '',
'article_id' => '16',
'menu_item_id' => '7'
)
)
)
)
)
好问题。我记得一次解决这个问题,但代码不好。希望有人能给出一个很好的答案。 – 2012-08-16 12:53:43
它需要一个人,所以结果可以分页 – waterschaats 2012-08-16 13:12:22