我有项目和任务模型。
我想做类似的事情:
$project->tasks()->active()->get()
$ project是Project对象,tasks()是hasMany()关系,active()应该是return $this->whereCompleted(NULL);
的函数。
问题是整个想法是否可行,我应该在哪里放置active()函数?
答案 0 :(得分:1)
您可以使用查询范围:http://laravel.com/docs/eloquent#query-scopes
您只需将此方法放在Task
模型中:
public function scopeActive($query)
{
return $query->whereCompleted(NULL);
}