2015-04-07 2 views
2

В Laravel 4.2 У меня есть запрос, как это:Cast Fluent Совокупные Результат запроса ввести Laravel

$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_map или аналогично преобразованию каждого значения в числовое. Есть ли способ, чтобы Fluent получил числовой результат от совокупного fuction?

+0

если вы счастливы с моим ответом ниже, вы можете принять его :) –

ответ

2

Когда вы выбираете данные из базы данных MySQL с использованием PHP, тип данных всегда будет преобразован в строку. Вы можете преобразовать его обратно плавать, используя следующий код:

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

Или с помощью функции floatval():

$sumofvar = floatval($row->sumofvar); 
Смежные вопросы