双方向のManyToMany関係でリンクされた2つのエンティティ(Item & Tag)があります。実際に使用されているエンティティ(Tag)レコードを表示したいと思います他のエンティティ(項目):ここでManyToMany Doctrineの関係で使用するアイテムを選択する方法
は私のアイテムの実体である:
class Item
{
/**
* @ORM\ManyToMany(targetEntity="MyBundle\Entity\Tag", inversedBy="items")
*/
private $tags;
}
そして、私のタグenity:012:私はこれを試してみた私のタグリポジトリの今
class Tag
{
/**
* @ORM\ManyToMany(targetEntity="MyBundle\Entity\Item", mappedBy="tags")
*/
private $items;
}
class TagRepository extends \Doctrine\ORM\EntityRepository
{
public function findAllUsed()
{
return $this->createQueryBuilder('t')
->leftJoin('t.items', 'items')
->groupBy('items.id')
->having('COUNT(t.id) > 0')
->orderBy('t.name', 'ASC')
->getQuery()
->getResult();
}
}
しかし、私が期待している結果は得られません。だれでも助けてくれますか?ありがとう!
2番目のソリューションはシンプルで簡単です!私はもう少し私のSQL言語を勉強する必要があります...ありがとうVinicius! – VinZ