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

Sha*_*arj 0 php cakephp data-modeling

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

Rab*_*ire 5

最好使用Containable行为,这将允许您指定这样的查找条件:

$this->Post->find('all', array(
    'contain' => array(
        'Tag', 
        'Comment' => array(
            'User')
            )
        )
    );
Run Code Online (Sandbox Code Playgroud)

此外,与此相关,最好在AppModel中将$ recursive设置为-1.

class AppModel extends Model {
    var $recursive = -1;
    var $actsAs = array('Containable');
}
Run Code Online (Sandbox Code Playgroud)

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