我正在尝试优化此代码,因为它会导致超时问题。
它从数据库中获取所有项目并在 PHP 中执行 SUM()。
public function getInstalledCost()
{
$items = $this->stockItems()
->where('status', 'INSTALADO')
->with(['shipment' => function($q){ $q->select('id', 'item_cost'); }])
->select('id','shipment_id')
->get();
$cost = 0;
foreach($items as $i){
$cost += $i->shipment->item_cost;
}
return $cost;
}
那么有没有办法从数据库中获取这些数据已经 SUM() ?