【发布时间】:2017-05-14 20:21:45
【问题描述】:
我有两个由双向多对多关系链接的实体(项目和标签),我想显示在与另一个实体(项目)的关系中实际使用的实体(标签)记录:
这是我的项目实体:
class Item
{
/**
* @ORM\ManyToMany(targetEntity="MyBundle\Entity\Tag", inversedBy="items")
*/
private $tags;
}
还有我的标签实体:
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();
}
}
但它并没有给我我期望的结果......有人可以帮忙吗?谢谢!
【问题讨论】:
标签: symfony doctrine-orm