php - 使用 doctrine 和 Symfony 2 加入子查询

标签 php mysql symfony doctrine-orm

我在一篇关于 Zend 的帖子中看到了答案的开头:Join subquery with doctrine 2 DBAL 不幸的是我无法让它工作。我试过这样的 aimfeld 解决方案:

$qbaudio = $em->createQueryBuilder();
    $subSelect = $qbaudio->select ('a.id_support id_support','sum(a.duration) dureeTotale','count(a) nbAudio')
        ->from('MyBundle:AudioObject','a')
        ->groupBy('a.id_support')
        ->where('a.type = :audio_type')
        ->getQuery();
    $qb = $em->createQueryBuilder();
    $qb->select('sp.ref1','sp.title1','count(i) nbImage','sp.nbSupportSaisi','sum(a.duration) dureeTotale','count(a) nbAudio','a.sampling')
      ->from('MyBundle:Storage', 'st')
            ->leftJoin('p.sides','si')
            ->leftJoin('si.support','sp')
            ->leftJoin('sp.images','i')
            ->leftJoin('sp.audioObjects', sprintf('(%s)',$subSelect->getDQL()), 'a', 'ON sp.id = a.id_support')
            ->groupBy('sp.id')
            ->setParameter('audio_type', 'MP3')

不幸的是我收到了这条消息:

Error: Expected end of string, got 'SELECT'

如果 ZEnd 可以,为什么 Symfony 不行? 任何想法? 谢谢

最佳答案

使用 SQL 而不是 DQL:

$subSelect->getSQL()

关于php - 使用 doctrine 和 Symfony 2 加入子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37730391/

相关文章:

php - 为我的本地 Web 应用程序尝试访问 google.com 时出错

PHP 在数组中搜索键并返回它的值?

php - 如何从外部模型/ Controller 获取 EntityManager()?

mysql - libdbi 的 dbi_conn_connect 在 c 中不起作用

symfony表单构建器更新选项字段

mysql - Symfony 一对一关系 SQL 语法错误

php - 如何根据预订更改 td 的颜色?

php - 如何使用 php 转义字符串中的单引号(撇号)

MySQL:具有自定义分层功能的 GROUP BY

java - 如何将桌面 Java 应用程序连接到在线数据库(对于傻瓜)?