gpt4 book ai didi

php - Symfony 2 Doctrine 计数

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:54:14 25 4
gpt4 key购买 nike

我的表“Artiste”中有一列“valideAdmin”,其值为 1 或 0。

我尝试做一个简单的计数,以返回表中“valideAdmin”为 1 的条目数:

    $repo = $this   ->getDoctrine()
->getManager()
->getRepository('ProjectMainBundle:Artiste');

$qb = $repo->createQueryBuilder('valideAdmin');
$qb->select('COUNT(valideAdmin)');
$qb->where('valideAdmin=1');

$count = $qb->getQuery()->getSingleScalarResult();

return array(
'count' => $count
);

但返回的总是“1”...

没有 where 子句,我有表条目的总数,但 valideAdmin 可以是 0 或 1。我只想要 valideAdmin=1 的计数

感谢帮助

最佳答案

createQueryBuilder() 的第一个参数是您希望您的实体采用的别名(即:用于在查询)。

您需要做的是为您的实体设置一个适当的别名(例如 aArtiste)然后 COUNT() 属性(不是列)valideAdmin 设置为一个的实体实例:

$repo = $this   ->getDoctrine()
->getManager()
->getRepository('ProjectMainBundle:Artiste');

$qb = $repo->createQueryBuilder('a');
$qb->select('COUNT(a)');
$qb->where('a.valideAdmin = :valideAdmin');
$qb->setParameter('valideAdmin', 1);

$count = $qb->getQuery()->getSingleScalarResult();

请记住,DQL实体 运行查询。然后将您编写的 DQL 转换为 SQL 以查询底层数据源。

关于php - Symfony 2 Doctrine 计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23971570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com