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时遇到了问题。我已经设置了存储库以获取实体集合。但是,似乎我无法选择何时在这些实体上加载关系。我必须在实体的配置中选择“渴望”或“懒惰”。
是否有建议的处理方式?还是有一种方法可以从存储库内部加载实体关系的集合?