noob alert;
У меня есть Post
и Tag
Подобные сущности:
Post.php
/**
* Many posts can have many tags. This is the owning side.
* @ORM\ManytoMany(targetEntity="Tag", inversedBy="posts")
* @ORM\JoinTable(name="post_tag")
*/
protected $tags;
Tag.php
/**
* Many tags can belong to many different posts. This is the inverse side
* @ORM\ManytoMany(targetEntity="Post", mappedBy="tags")
*/
protected $posts;
Теперь я хочу запросить все сообщения с их тегами.
Для этого я использую queryBuilder в своем репозитории и могу успешно получать результаты.
$query = $this->createQueryBuilder('P')
->select('P.title, T.name')
->leftJoin('P.tags', 'T')
->where('P.id = 1')
->getQuery()
->execute();
Но, как вы можете себе представить, этот запрос выбирает дубликаты.Итак, если бы у меня было два тега для сообщения, в массиве было бы два похожих сообщения.
Output
array(
array(title=>'Post One', name=>'php'),
array(title=>'Post One', name=>'python'),
)
Существует ли доктринальный способ превратить эти теги всобрать массив и заполнить его обратно в окончательный массив записей.