【发布时间】:2014-10-09 20:15:12
【问题描述】:
我正在尝试在 Laravel 4.2 中加载动态范围
我有以下 Eloquent 课程:
class Project extends Eloquent {
protected $table = 'projects';
public function subProjects() {
return $this->hasMany('SubProject');
}
}
在Subproject 类中,我有以下动态范围:
public function scopeForUserInPeriod($query, $user, $interval) {
return $query->whereHas('hourRegistrations', function($query) use($user, $interval) {
$query->where('user_id', $user->id)->whereBetween('date', [$interval->from, $interval->to]);
});
}
现在我想在加载项目时预先加载范围,所以我做了类似的事情。
Project::with('SubProjects.ForUserInPeriod', $user, $period);
不幸的是,with 只接受要加载的关系列表。我似乎找不到任何关于我应该如何预先加载带参数的范围的迹象。 :-(
【问题讨论】:
标签: php laravel eloquent eager-loading