gpt4 book ai didi

php - CakePHP:如何包含所有顶级关联

转载 作者:行者123 更新时间:2023-11-29 06:42:27 26 4
gpt4 key购买 nike

我想设置 $options['contain'] 以便包括所有顶级关联模型(但不包括二级关联)。我知道我可以简单地列出每个模型...

$this->Object->find('all', array('contain'=>array('Model1', 'Model2', ...

但这不是我想要的,因为将来可能会关联其他模型,我希望它们自动包含在内。

我想我记得旧版本的 CakePHP 允许类似...

$this->Object->find('all', array('contain'=>array('*')

但到目前为止(在 v2.4 上)它似乎不起作用。

重读后the documentation ,这听起来像是我希望默认情况下应该发生的事情。但事实并非如此。

最佳答案

您正在寻找的是模型属性 recursive

http://book.cakephp.org/2.0/en/models/model-attributes.html#recursive

将其设置为级别 0 将拉出一级关联。

Containable 适用于您想要指定哪些模型并且几乎总是建议使用递归,但是 - 在您的情况下,拉动“所有”顶级关联模型将通过递归完成,而根本不需要 Containable。

递归默认设置为 1,但是我听说在未来版本的 Cake 中,递归将消失(很好的摆脱)。大多数人在他们的 AppModel 中设置 public $recursive = -1; 将其默认设置为“关闭”。

关于php - CakePHP:如何包含所有顶级关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20666663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com