假设有一个非常基本的结构: ACategory
可以包含多个项目Product
:
/**
* @ORM\OneToMany(targetEntity="Product", mappedBy="category", cascade="remove")
*/
protected $products;
/**
* @ORM\ManyToOne(targetEntity="Category", inversedBy="products")
* @ORM\JoinColumn(name="product_id", referencedColumnName="id")
*/
protected $category;
当我通过这样的类别访问它们时,我得到了所有产品:
$category->products;
假设 aProduct
有一个属性invisible
。如何强制 Doctrine 仅加载可见的产品。我把这个查询放在哪里?进入存储库?但是:我如何称呼它或在“全部加载”和“加载某些”之间切换?我当然可以单独要求产品,但这似乎不是一个好的解决方案。