Я пытаюсь понять концепцию отношений «многим через».
Вот мои нынешние отношения,
- Студент может вступать в несколько клубов.
- Клуб состоит из множества студентов.
- В клубе есть разные позиции, которые могут быть назначены студентам (например, президент, председатель и т. Д.)
Вот как выглядит мой БД,
- Студенты
- Клубы
- club_student (сводная таблица)
- Позиции
- club_position (сводная таблица)
Из документации Laravel мое понимание вложенных отношений таково:
$students = Student::with('clubs.positions')->get();
Мой вопрос здесь
как получить всю доступную информацию? (Имя студента, студенческие клубы, позиции студентов и позиции в соответствующих клубах).
Нужно ли все цикл foreach?
foreach ($students as $student) {
echo $student->name . " -> ";
foreach ($student->clubs as $club) {
echo $club->name . " -> ";
foreach ($club->positions as $position) {
echo $position->points . "<br>";
}
}
}
Что если я захочу просто восстановить позицию студенческого клуба?
Есть ли способ напрямую получить $student->club->position
?