我该如何处理有时会急于加载的教义实体关系,而其他时候却不想

时间:2019-07-11 10:19:47

标签: php symfony doctrine-orm doctrine

tldr;我有一些学说实体。有时我想渴望负荷关系。有时候我不知道。有针对这种情况的建议设置或模式吗?

我一直在使用Eloquent将我的Laravel项目表单过渡到Doctrine。当我使用Eloquent时,我的域级别代码正在访问存储库,而不是直接操作/保存对象。

这些存储库使我可以控制哪些关系渴望加载,哪些关系不渴望加载。原因是有时候我不需要加载这些关系,因为它们没有被使用。一个非常基本的例子:

class Repository
{
    public function getAll(): Collection
    {
        return EloquentModel::get();
    }

    public function getAllWithRelation(): Collection
    {
        $models = $this->getAll();
        $models->load('relation');

        return $models;
    }
}

我在使用Doctrine时遇到了问题。我已经设置了存储库以获取实体集合。但是,似乎我无法选择何时在这些实体上加载关系。我必须在实体的配置中选择“渴望”或“懒惰”。

是否有建议的处理方式?还是有一种方法可以从存储库内部加载实体关系的集合?

0 个答案:

没有答案