Laravel grouped sum


Laravel grouped sum

我试图用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"。为什么这不是一个数组?

这会得到一个数组。

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