2017-03-03 39 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)' –