我有课程和订阅类型。 订阅用户具有订阅类型,我想要用户订阅类型匹配的所有课程。
我的尝试(返回所有课程,而不仅仅是正确的课程):
$courses = Course::has('maintask')->with(['subscriptionType' => function ($q) use ($user)
{
return $q->where('subscription_type_id',$user->subscription[0]->subscription_type_id)->where('status','1');
}])->get();
任何提示?
谢谢!
答案 0 :(得分:3)
使用whereHas()
:
$courses = Course::has('maintask')
->whereHas('subscriptionType', function ($q) use ($user) {
$q->where('id', $user->subscription[0]->subscription_type_id)
->where('status', 1);
})->get();