Как получить результат агрегатных функций Sum / Avg / Min / Max как float? - PullRequest
0 голосов
/ 11 октября 2019

У меня есть таблица с полем payout типа real. Eloquent возвращает SUM этого поля как string.

Пример:

$result = MyModel::select(DB::raw('SUM(payout)'))->first();
// gettype($result->sum) is "string"

Согласно PSQL Doc (https://www.postgresql.org/docs/9.5/functions-aggregate.html) тип возвращаемого значения SUM должен быть: «совпадает с типом данных аргумента».

Явное указание SUM(payout)::real не имеет никакого эффекта, но SUM(payout)::integer работает.

Я знаю, я могу привести его с помощью PHP flotval($result->min). Но есть ли способ заставить Eloquent вернуть его как float?

...