我不知道它是否真的可行,但它可能看起来像这样:
架构:
User
id, name, last_name, etc.
Condition
id, name
User_Condition
id, user_id, condition_id, active, start_date, end_date
我希望能够执行与此类似的操作:$user->conditions->active()
或$user->conditions->active
,其中返回active = 1的所有行/关系
答案 0 :(得分:2)
您希望获得用户的所有有效条件,对吗?
如果是这样,您可以通过以下查询获得它们。
echo $user->conditions()->where('user_condition.active', true)->get();
确保您在belongsToMany
user model
关系
public function conditions()
{
return $this->belongsToMany('App\Condition', 'user_condition');
}
答案 1 :(得分:0)
您正在寻找with
过滤器,也称为 Eager Load Constraints 。
$user->with['UserCondition'=>function($query){
return $query->whereActive(1);
}
];
(假设在UserCondition
雄辩模型中设置了User
关系。