CakePHP:如何在检索数据时指定模型?

时间:2010-11-23 00:15:58

标签: php cakephp data-modeling

我想用递归级别3来检索数据。问题是它添加了所有8个链接模型,但我只需要来自三个数据模型的数据。有没有办法忽略某些模型或特别问一些模型,但不是全部。像useModel('Model1','Model2')?

1 个答案:

答案 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');
}

这将为您提供所需的更精细控制,并确保您的查询不会膨胀,因为随着时间的推移,更多关系会添加到模型中。