php - 如何在 Symfony2 上编写查询

标签 php mysql sql symfony symfony-2.8

如何将其写入我的存储库中以便能够在我的 Controller 中使用它?

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();
}

关于php - 如何在 Symfony2 上编写查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43774571/

相关文章:

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

php - Doctrine 2 继承映射 : can NULL be used as a discriminator?

PHP:可以使用数组作为 sprintf 函数的参数部分吗?如果是这样 - 怎么样?

PHP,MySql : How to know which table was used

php - 获取 1000 个平均值中的 50 个平均值

MySQL - 从列重复的表中删除行

php - 在 foreach 循环中构建一个可以排序的 php 数组

javascript - node-webkit 和 mysql 查询

如果给定列没有值,则 MYSQL 合并为一列

php - 使用 LIKE 的 Mysql 搜索框