从查询学说返回字符串

Posted

技术标签:

【中文标题】从查询学说返回字符串【英文标题】:Return string from query Doctrine 【发布时间】:2021-12-09 18:22:26 【问题描述】:

我有一个查询,它总结了我的数据库中的字段总数。

//HoursRepository.php

public function findHoursTotal($user)

    return $this->createQueryBuilder('h')
        ->where('h.user = :user')
        ->select('SUM(h.total)')
        ->setParameter('user', $user)
        ->getQuery()
        ->getResult();

此查询返回:

array:1 [▼
  0 => array:1 [▼
    1 => "52400"
  ]
]

我的问题是如何将“52400”结果作为字符串而不是在数组中?

【问题讨论】:

【参考方案1】:

你应该使用getSingleScalarResult(),下面是使用示例:

return $this->createQueryBuilder('h')
        ->where('h.user = :user')
        ->select('SUM(h.total)')
        ->setParameter('user', $user)
        ->getQuery()
        ->getSingleScalarResult();

【讨论】:

以上是关于从查询学说返回字符串的主要内容,如果未能解决你的问题,请参考以下文章

使用 MSSQL 返回相同孩子的学说

Symfony - 在学说查询构建器中使用 orWhere()

学说 QueryBuilder 返回 QueryException

将学说查询生成配置为小写

学说减慢了表现

Symfony 2 实体连接或学说查询连接