Eloquent - Return 仅在关系中没有关联值时注册
Eloquent - Return Registry only if it doesn't have a value asossiated in the relationship
我有这个问题,也许有人可以帮助我:)
Student::whereHas('courses.group', function ($query) use ($year) {
$query->where('year', '!=', $year);
})->orDoesntHave('courses')->where('active', '=', '1')->get()
我在 eloquent 中有这个查询,它有效,但我遇到了问题。我真正需要在该查询中获得的是所有通过枢轴 courses
关联 groups
的注册管理机构 students
,在它拥有的所有组中,它应该 return student
只有当它没有在他的组中注册的 $year
值,或者如果没有任何 courses
。任何的想法? :)
WhereHas()
与whereDoesntHave()
逻辑相反。您需要更改查询逻辑,但应该直截了当,据我所知,这应该可行。
Student::whereDoesntHave('courses.group', function ($query) use ($year) {
$query->where('year', $year);
})->orDoesntHave('courses')
->where('active', '=', '1')
->get();
我有这个问题,也许有人可以帮助我:)
Student::whereHas('courses.group', function ($query) use ($year) {
$query->where('year', '!=', $year);
})->orDoesntHave('courses')->where('active', '=', '1')->get()
我在 eloquent 中有这个查询,它有效,但我遇到了问题。我真正需要在该查询中获得的是所有通过枢轴 courses
关联 groups
的注册管理机构 students
,在它拥有的所有组中,它应该 return student
只有当它没有在他的组中注册的 $year
值,或者如果没有任何 courses
。任何的想法? :)
WhereHas()
与whereDoesntHave()
逻辑相反。您需要更改查询逻辑,但应该直截了当,据我所知,这应该可行。
Student::whereDoesntHave('courses.group', function ($query) use ($year) {
$query->where('year', $year);
})->orDoesntHave('courses')
->where('active', '=', '1')
->get();