【发布时间】:2017-09-16 14:41:04
【问题描述】:
我有 10.000 件物品。
当我sum() 不使用get() 时:
$total_salary = Employee::where('year','=', '2017')
->sum('total_salary');
$total_bonus = Employee::where('year','=', '2017')
->sum('total_bonus');
return ['total_salary'=>$total_salary, 'total_bonus'=>$total_bonus];
需要 6 秒。
当我像这样sum() 和get() 时:
$query = Employee::where('year','=', '2017')
->get();
$data['total_salary'] = $query->sum('total_salary');
$data['total_bonus'] = $query->sum('total_bonus');
return $data;
需要 20 秒。
我如何在不等待这么长时间的情况下使用sum() 和get()?
【问题讨论】:
-
您忘记在
where()条件之前添加all() -
@Advaith,我用github.com/jenssegers/laravel-mongodb
标签: laravel sum laravel-5.3 laravel-eloquent bigdata