我正在尝试理解“具有很多关系”的概念。
这是我目前的恋情,
这是我的数据库的样子,
从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
?
答案 0 :(得分:1)
在模型中设置关系时,可以检索任何相关信息 因此,如果您想获得学生俱乐部职位,就可以
$ student-> club()-> first()-> positions()-> get();
//您可以获得第一个对象
$ student-> club-> positions()-> get();
或者如果您想获得俱乐部学生
$ club-> students()-> get();
以此类推...