2017-03-03 43 views
1

我想知道是否有转换的方式/施放计数类型学说的回报,怎么投COUNT返回类型学说

当我做

$queryBuilder->select('p.idPublication, 
    p.publicationName as name, 
    p.publicationDescription as description, 
    p.publicationPhoto as photoPublication') 
->addSelect('(SELECT COUNT(com.idCommentaire)FROM PublicationBundle:Commentaire com 
    WHERE com.publication = p.idPublication) as comments') 

...

我以字符串的形式得到注释。如何将COUNT结果转换为int。

谢谢大家。

+0

也许你可以像在这个问题上创建自己的功能:(http://stackoverflow.com/questions/7405342/casting-attributes-for [为订购上Doctrine2 DQL查询铸造属性] -or-doctrine2-dql-query) –

回答

2

假设你存储查询在$results变量的结果,那么你可以将其转换为int这样的:

$intVal = (int) $results[$rowNumber]['comments'] 

如果你想进行查询投那么你可以添加+ 0到你的选择语句。就像这样:

'SELECT (COUNT(com.idCommentaire) + 0) FROM ...' 
+0

是不是有办法直接在查询中执行它?不在PHP! –

+0

我只是试过它不起作用,仍然返回字符串类型 –

+0

当我var_dump结果我得到''评论'=>字符串'3'(长度= 1)' –