Laravel Eloquent: $pay->sum('amount');对数据库执行另一个查询?

Laravel Eloquent: Does $pay->sum('amount'); executes another query on database?

我有这个代码:

$fee = sys_fee::where('payment', '=', 'Paid')->get();
$totalFee = $fee->sum('amount');

谁能告诉我,上面这两行是遍历数据库还是第一行只访问数据库一次?

简单来说,下面这行是对数据库执行另一个查询还是只对数组有效?

$totalFee = $fee->sum('amount');

我目前的理解是它不会对数据库执行另一个查询。

您的 $fee 是 Collection 的异议,sum() 方法不会进行 SQL 调用,而是遍历该集合的所有元素。

https://laravel.com/docs/5.7/collections#method-sum