我想用递归级别3来检索数据。问题是它添加了所有8个链接模型,但我只需要来自三个数据模型的数据。有没有办法忽略某些模型或特别问一些模型,但不是全部。像useModel('Model1','Model2')?
答案 0 :(得分:5)
最好使用Containable行为,这样您就可以指定这样的查找条件:
$this->Post->find('all', array(
'contain' => array(
'Tag',
'Comment' => array(
'User')
)
)
);
此外,与此相关,最好在AppModel中将$ recursive设置为-1。
class AppModel extends Model {
var $recursive = -1;
var $actsAs = array('Containable');
}
这将为您提供所需的更精细控制,并确保您的查询不会膨胀,因为随着时间的推移,更多关系会添加到模型中。