У меня есть проект с классами Semester, Course и Assignment.Laravel Query Multiple Count Count
Я хотел бы получить только семестров, которые имели по крайней мере один курс, связанный с ним, так что я сделал это:
Semester::has('courses', '>', '0')->get();
Теперь я хочу получить семестры, которые имеют по крайней мере один курс, который имеет по крайней мере одно назначение связанные с ним.
В классе семестра у меня есть отношения hasMany
с курсом, и в курсе, у меня есть отношения hasMany
с заданиями. У меня также есть belongsTo
для присвоения курсу и курсу на семестр.
Я попытался найти закрытие, но ни один из уроков, похоже, не связан с проверкой коллекции коллекции. Как я могу запустить этот код?
EDIT
После прочтения и тестирования больше, я обнаружил, что этот код работает: ответ
Semester::whereHas('courses', function ($query) {
$query->has('assignments', '>', '0')
})->get();
huuuk является другим подходом, но в равной степени справедлив и полезен.
Большое спасибо! – Aaron