【发布时间】:2011-11-23 16:39:05
【问题描述】:
当然我错过了一些东西,或者没有考虑更好的方法来完成我需要的事情,但这就是我想做的事情。
我有三个模型:A、B 和 C。 A 与 B 有一个关系 MANY-MANY,称为 relation1,B 与 MANY-MANY 有一个关系 C,称为 relation2。我想获取所有B 记录及其C 关系(急切加载),但只是来自A 实例(延迟加载,因为我不想浪费内存加载所有relation1 实例)。
所以,我想做的应该是这样的:
A::model()->findByPk($somePrimaryKey)->relation1->with('relation2');
当然这不起作用,因为使用 relation1 延迟加载我得到了一个实例数组,然后我尝试将 with() 方法应用于非对象。
当然,我可以围绕遍历数组做一些工作,但我想知道是否有一种快速而优雅的方法 :)
谢谢!
【问题讨论】:
标签: php activerecord yii lazy-loading eager-loading