【问题标题】:symfony 2 get count of repository findsymfony 2获取存储库查找计数
【发布时间】:2016-02-11 17:39:59
【问题描述】:

我正在通过存储库处理数据库数据。

我需要获取找到的行数。

$followers = $em->getRepository('AppBundle:Follower')->findBy(array(
                'user' => $followedUser,
                'follower' => $user
        ));

我尝试搜索返回存储库查找计数的函数,但没有找到。

我应该如何获得计数?

谢谢。

【问题讨论】:

  • findOneBy 方法总是返回 1 行。
  • 您必须改用findBy。或者,您也可以使用查询生成器执行此操作并获取数组结果。数组计数将是您的count(*)
  • 是的,我在那里找到了……只是一个错字。
  • count($followers) 可以解决问题。但是,如果您只需要计数而不需要任何数据,请尝试:stackoverflow.com/questions/9214471/…

标签: php symfony


【解决方案1】:

工作解决方案@2019

$followersCount = $em->getRepository('AppBundle:Follower')->count([
            'user' => $followedUser,
            'follower' => $user
    ]);

【讨论】:

    【解决方案2】:

    如果你想返回所有的行,你可以 count($followers) 因为 $followers 是一个可数的集合。

    如果您只想要计数并且不想返回跟随者实体的集合,那么您需要使用 createQueryBuilder 并仅选择计数,确保使用 getSingleScalarResult() 返回计数值。

    正如 Cerad 所说,请查看Count Rows in Doctrine QueryBuilder,其中详细介绍了后一个选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-14
      • 2013-07-19
      • 1970-01-01
      相关资源
      最近更新 更多