我正在使用Laravel并且有一个查询选择使用列的$r=$this->model->delete($id);
print_r($r);
DB::raw()
:
SUM()
我已安装mysqldn,AFAIK Laravel使用DB::raw("SUM(points) as game_points")
。
但PDO
是一个字符串,无论列的类型是什么。 (这是一个整数列)
如果我这样做:
game_points
DB::raw("COUNT(id) as foo_bar")
以整数形式返回。
答案 0 :(得分:10)
它既不是Laravel也不是PDO问题。
根据manual,SUM()
会为精确值参数(DECIMAL
或integer
)返回DECIMAL
值。在PHP中表示DECIMAL
类型的唯一方法是 string 。
答案 1 :(得分:-3)
您可以尝试使用CONVERT(INT, game_points)
根据bugs.mysql.com,sum()
返回NEWDECIMAL
数据类型,相当于php中的string
,而count()
返回integer
数据类型。