非常に基本的な構造があると仮定します。Aには次Category
の複数の項目を含めることができます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;
Product
aに属性があるとしましょうinvisible
。Doctrineに表示されている製品のみをロードさせるにはどうすればよいですか?このクエリはどこに置きますか?リポジトリに?しかし、より:どうすればそれを呼び出すか、「すべてをロード」と「特定をロード」を切り替えることができますか?もちろん、製品を個別にリクエストすることもできますが、これは良い解決策ではないようです。