通常在自定义存储库类中进行查询时,我会使用以下内容:
SELECT * FROM BundleName:Entity
但我该如何处理关联实体呢?
我有一个实体"Ticket"和一个实体(Tag(。这是一种多对多的关系。
在phpMyAdmin中,我有一个ticket_tag关联表,但如何使用Doctrine获得它?
谢谢
您应该使用createQueryBuilder
来处理您的自定义查询需求,以防您与实体之间存在有效关系。例如:在票证存储库中,您应该这样处理,如果您想进行更多操作,那么您应该从这里了解更多信息:https://symfony.com/doc/3.3/doctrine/repository.html
$query = $this->createQueryBuilder('t')
->select('count(t.id) as total_ticket, tag.id as tagId')
->leftJoin('t.tags', 'tag')
->groupBy('tag.id')
;
return $query->getQuery()->getResult();