@lightsout93

Как составить запрос, Eloquent Laravel?

есть 5 таблиц в базе данных (в скобках поля для каждой соответственно):
groups (id | title);
students (id | firstName | lastName | group_id);
subjects (id | title);
assessments (id | value | student_id | subjects_id);
group_subject (id | group_id | subject_id);
Связи:
class Group extends Model
{
    public function students()
    {
        return $this->belongsToMany(Student::class);
    }

    public function subjects()
    {
        return $this->belongsToMany(Subject::class);
    }
}

class Student extends Model
{
    protected $fillable = ['firstName', 'lastName'];

    public function group()
    {
        return $this->hasOne(Group::class);
    }

    public function assessments()
    {
        return $this->hasMany(Assessment::class);
    }

    public function subjects()
    {
        return $this->belongsToMany(Subject::class, 'assessments', 'student_id', 'subject_id');
    }
}

class Subject extends Model
{
    public function groups()
    {
        return $this->belongsToMany(Group::class);
    }

    public function assessments()
    {
        return $this->hasMany(Assessment::class);
    }

    public function students()
    {
        return $this->belongsToMany(Student::class);
    }
}

class Assessment extends Model
{
    public function subject()
    {
        return $this->belongsTo(Subject::class);
    }

    public function student()
    {
        return $this->belongsTo(Student::class);
    }
}

Как мне правильно выбрать для каждого студента те предметы, которые так же соответствуют его группе в которой он учится, чтобы не возникло такой проблемы, что у каждого студента разные предметы, даже если они в одной группе?
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 1
dark_tke
@dark_tke
Помогли? Отметь решением!
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы