除法得到结果 w=10=sh arai

DQL getResult return array

我正在玩 Doctrine,我想我可能错过了一些东西。 所以我有一些关系的 table,这里是列:

编号 | user_id | workshop_id

基本上,我使用这个 table 来知道用户正在注册研讨会。

我想统计有多少用户订阅了一个研讨会。

所以在我的存储库中,我使用 DQL 请求:

/** @var EntityManager $entityManager */
$entityManager = $this->getEntityManager();

$query = $entityManager->createQuery("
    SELECT COUNT('uw.id')
    FROM App\Entity\UserWorkshops AS uw
    LEFT JOIN App\Entity\User AS u WITH u.userId = uw.user
    WHERE uw.workshop = :workshop_id");

$count = $query
    ->setParameters(['workshop_id' => $workshopId])
    ->getResult();

这里是结果示例:

我只需要检索整数 3。

我怎样才能 return 一些不同的东西?

谢谢

您可以使用文档中的 getSingleScalarResult:

Query#getSingleScalarResult(): Retrieves a single scalar value from the result returned by the dbms. If the result contains more than a single scalar value, an exception is thrown. The pure/mixed distinction does not apply.

例如:

$count = $query
    ->setParameters(['workshop_id' => $workshopId])
    ->getSingleScalarResult();