Php 将Fluent聚合查询结果强制转换为键入Laravel

Php 将Fluent聚合查询结果强制转换为键入Laravel,php,mysql,laravel,laravel-4,Php,Mysql,Laravel,Laravel 4,在Laravel 4.2中,我有这样一个查询: $query = DB::table('myTable') ->select('name', DB::raw('SUM(var) as sumofvar') ->get(); dd($query); // returns: // // array( // "name1" => ".66", // "name2 => "1.32", //etc // ) 这运行正常,但结果中的sumofvar将作为字符串而不是

在Laravel 4.2中,我有这样一个查询:

$query = DB::table('myTable')
->select('name', DB::raw('SUM(var) as sumofvar')
->get();

dd($query);

// returns:
//
// array(
//   "name1" => ".66",
//   "name2  => "1.32", //etc
// )
这运行正常,但结果中的
sumofvar
将作为字符串而不是浮点/十进制返回。该列在MySQL中是十进制的


目前,我必须
array\u map
或类似方法才能将每个值转换为数字。有没有办法让Fluent从聚合函数中获取数值结果?

当您使用PHP从MySQL数据库中选择数据时,数据类型将始终转换为字符串。您可以使用以下代码将其转换回float:

$sumofvar=(float)$row->sumofvar;
或使用以下功能:

$sumofvar=floatval($row->sumofvar);

如果您对我下面的答案满意,您可以接受:)