首页 > 解决方案 > Laravel Eloquent:是否 $pay->sum('amount'); 对数据库执行另一个查询?

问题描述

我有这个代码:

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

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

简而言之,以下行是对数据库执行另一个查询还是仅适用于数组?

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

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

标签: phplaravellaravel-5.6

解决方案


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

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


推荐阅读