Symfony2 innerJoin多次返回列

时间:2015-06-14 06:50:38

标签: php mysql symfony doctrine-orm

我正在使用symfony2申请。我正在使用这个查询:

$contents = $em->getRepository('BbdBongoAppBundle:Content')
        ->createQueryBuilder('c')
        ->select('c.id, c.title, c.sequence, c.sequence_count, c.category_sequence, c.unique_id, c.priority, c.status')
        ->addSelect('o.slug as owner')
        ->addSelect('cat.slug as category')
        ->addSelect('m.name as media')
        ->innerJoin('c.content_owner', 'o')
        ->innerJoin('c.category', 'cat')
        ->innerJoin('c.media', 'm')
        ->getQuery()
        ->getArrayResult();

一切都在我添加->innerJoin('c.media', 'm')之前,因为它是内容标题,如果媒体有两个值,则所有其他内容都返回两次,即(YouTube,网站)如果媒体有一个值返回单个结果但是如果它有多个它返回多个结果。

我想要的是单个结果中所有媒体的单一标题。即(泰坦尼克号,YouTube,网站)现在它的回归(泰坦尼克号,YouTube,泰坦尼克号,网站)看到泰坦尼克号是两次。

感谢。

1 个答案:

答案 0 :(得分:0)

使用此行,您不处于学说的对象模式。

->select('c.id, c.title, c.sequence, c.sequence_count, c.category_sequence, c.unique_id, c.priority, c.status')

通过将其更改为以下代码,您仍将拥有对象表示:

->select('c{id,title,sequence,sequence_count,category_sequence,unique_id,priority,status}')

source