【发布时间】:2015-08-12 08:35:26
【问题描述】:
我正在尝试获取具有多个步骤(有距离)的活动的总距离?目前,我正在这样做:
控制器:
$total_distance = 0;
foreach (\Auth::user()->activities as $key => $activity) {
$total_distance += $activity->getTotalDistance();
}
活动模型:
public function steps()
{
return $this->hasMany('App\Step');
}
public function getTotalDistance()
{
return $this->steps->sum('distance');
}
有合适的解决方案吗?
感谢您的帮助
【问题讨论】:
-
您的方法对我来说似乎很好,如果您要在整个应用程序中重用它,您最好将代码从控制器移动到模型中的范围内。
-
如果这个解决方案对你来说太慢了(很多活动和很多步骤),你最好查询你的数据库。可能一个不太复杂的查询就可以完成这项工作。
标签: php laravel laravel-4 laravel-5 eloquent