gpt4 book ai didi

mysql - Cakephp 模型关联及其所需的 mysql 查询量

转载 作者:行者123 更新时间:2023-11-29 09:18:30 25 4
gpt4 key购买 nike

我有一个相当简单的数据模型,但我有一个名为“item”的中心实体,它通过一对一/一对多关系与其他 7 个实体关联。一切都很顺利。但在大多数使用项目模型的操作中,我不需要项目模型中的任何关联 - 因此 mysql 最终会发出许多不必要的查询(因为“项目”模型类中定义的关联)。

我正在尝试思考减少这些不必要的查询的最佳方法是什么 -我正在考虑从模型类中删除所有关联,使所有模型可包含,并在需要时在运行时创建关联。

另一个选择是在任何有意义的地方简单地使用bindModel/unbindModel。

我不太确定哪种方法更好,以及是否有另一种更合适的方法来最小化那些不必要的 mysql 查询。

任何反馈都会很棒:)

最佳答案

不要使用递归。不要删除您的关联。

在 app_model.php 添加(在类级别):

var $actsAs = array('Containable');

然后使用

$this->MyModel->contain();

$this->MyModel->contain(array('AssocThing.field','OtherThing.SubThng.field'));

控制您检索的表和字段。

Containable 将为您提供对检索数据的细粒度控制。这就是它的用途!

关于mysql - Cakephp 模型关联及其所需的 mysql 查询量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3149415/

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