0
我使用Eloquent與我的MySql數據庫交談。我有一個teams
的表,它與tasks
通過tasks_teams
有多對多的關係。 tasks
有一列叫做points
。當團隊完成任務時,他們可以獲得積分。雄辯多對多
我想給團隊對象一個方法來返回團隊贏得的總積分。此查詢的SQL是這樣的:
SELECT SUM(points) FROM tasks_teams, tasks WHERE
team_id = 1
AND tasks_teams.task_id = tasks.id;
這是我Team
型號:
class Team extends Illuminate\Database\Eloquent\Model {
protected $table = 'teams';
public function tasks() {
return $this->belongsToMany('Task', 'tasks_teams');
}
}
我想這個方法添加到Team
,但它不工作:
public function points() {
return $this->tasks->sum('points');
}
但我得到這個:
Fatal error: Call to undefined method Illuminate\Database\Eloquent\Collection::sum() in [...]/Models/Team.php on line 19
我在這裏錯了什麼?