Laravel分组总和

时间:2014-07-02 18:04:43

标签: php mysql laravel

我正在尝试使用Laravel重现以下MySQL查询:

SELECT SUM(distance) FROM trips WHERE user_id = 1 AND distance IS NOT NULL GROUP BY TRANSPORT

当我在phpMyAdmin中执行它时,我得到以下结果:642778,0,1。这是我对Laravel的尝试:

$sortedDistances = Trip::where('user_id', 1)
    ->whereNotNull('distance')
    ->groupBy('transport')
    ->sum('distance');

当我var_dump($sortedDistances)时,我得到的只是string(6) "642778"。为什么这不是一个阵列?

1 个答案:

答案 0 :(得分:1)

这会给你一个数组。

$sortedDistances = Trip::where('user_id', 1)
    ->whereNotNull('distance')
    ->select('transport', DB::raw('sum(distance) as TotalDistance'))
    ->groupBy('transport')
    ->get();