Извините за грязное название, я не знал, как его описать. Итак, у меня есть три таблицы таблиц в модели re : студенты, группы и связанная с ними таблица, называемая курсами.
Я пытаюсь получить каждого «студента», которому не назначена группа или чтоназначил группу с годом, превышающим 2019, я получил этот код до сих пор, но я не могу получить доступ к столбцу года, я пытался с помощью метода "with ()", но мне не повезло, есть идеи? Мои модели на Laravel:
Студент:
public function courses()
{
return $this->hasMany(\App\Models\Course::class, 'id_student');
}
Группа:
public function courses()
{
return $this->hasMany(\App\Models\Course::class, 'id_group');
}
Курс:
public function student()
{
return $this->belongsTo(\App\Models\Student::class, 'id_student');
}
public function group()
{
return $this->belongsTo(\App\Models\Group::class, 'id_group');
}
Мой запрос:
$students_noassigned = Student::whereHas('courses', function ($query) {
$query->where('year', '>', 2010);
})
->doesntHave('courses', 'or')
->get();