我试图用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();