Php 如何在Symfony2上编写查询

Php 如何在Symfony2上编写查询,php,mysql,sql,symfony,symfony-2.8,Php,Mysql,Sql,Symfony,Symfony 2.8,我如何在我的存储库中编写它,以便能够在我的控制器中使用它 SELECT COUNT(id_pnc) FROM programmevol p WHERE p.id_pnc IN ( SELECT id_pnc FROM programmevol A WHERE p.id_pnc=A.id_pnc HAVING COUNT(*)>1 ); 试试这个: public function findWhateverYouWant() { $em = $t

我如何在我的存储库中编写它,以便能够在我的控制器中使用它

SELECT COUNT(id_pnc) 
FROM programmevol p
WHERE p.id_pnc IN (
    SELECT id_pnc 
    FROM programmevol A 
    WHERE p.id_pnc=A.id_pnc
    HAVING COUNT(*)>1
);
试试这个:

public function findWhateverYouWant()
{
    $em = $this->getEntityManager();

    $rsm = new ResultSetMappingBuilder($em);

    $sql = sprintf('SELECT COUNT(id_pnc) 
                    FROM programmevol p
                    WHERE p.id_pnc IN ( SELECT id_pnc 
                                        FROM programmevol A 
                                        WHERE p.id_pnc=A.id_pnc
                                        HAVING COUNT(*)>1
                                       )', 
                    $rsm->generateSelectClause()
                   );

    $query = $em->createNativeQuery($sql, $rsm);

    return $query->getResult();
}

您可以从实体管理器获得连接并执行原始sql查询。当我执行$var=$em->getRepository('xxxx')->findWhateeverYouwant()和var_dump($var)时,我不工作,它显示0个数组seletctedTry而不显示sprintf:
$sql='query string'