によってデータベースからディスプレイ製品。symfonyの/ドクトリン - 私は<strong>カテゴリ</strong>エンティティへ<em>多対多の</em>関係で<em>自己参照</em><strong>カテゴリ</strong>エンティティ、<strong>製品</strong>エンティティを作成したカテゴリの子どもと親
例カテゴリ一覧:
MacBooks
-MacBook Air
--MacBook Air 11
--MacBook Air 13
-MacBook Pro
--MacBook Pro 13
私が選択したカテゴリに基づいて製品を取得しています。
public function getByCategory($category)
{
$qb = $this->createQueryBuilder('p');
$qb->leftJoin('p.categories', 'c');
$qb->where('c.url = :category');
$qb->setParameter('category', $category);
return $qb->getQuery()->useQueryCache(true);
}
例えば製品がのMacBook Air 13カテゴリ内にあります。
したがって、カテゴリを選択した場合にのみコードが機能しますMacBook Air 13。
親カテゴリの商品を表示するには? カテゴリのMacBookのMacBook Airから表示はすべて、MacBook Airの11で同じ
...などのカテゴリーのMacBook Air 11 とのMacBook Air 13、からカテゴリのMacBook Air、私は製品を表示したいで例えば、 MacBook Air 13など...?
質問簡略化: すべての子供からすべての製品を取得する方法。
のMacBook - >のMacBook Air - > MacBook Airの11、MacBook Airの13
うわー、このソリューションは私のものよりずっと優れています。ありがとう – user8810516
あなたを助けてうれしいです。このロジックをコントローラからサービスに移すことができるかどうかはわかっています。それはより良い習慣です。 – Snegirekk
確かに、すでにやった:)ありがとう – user8810516