雄辩的,每个表的多个关系
Posted
技术标签:
【中文标题】雄辩的,每个表的多个关系【英文标题】:Eloquent, multiple relationships per table 【发布时间】:2017-04-01 18:07:45 【问题描述】:是否可以通过 eloquent 查询链接表链,其中一些表具有多个关系并获取所有关联信息?
例如:
Table Schools 与 Courses 是一对多的关系 Table Courses 与 Student 有多对多的关系 Table Teachers 与 Courses 是一对多的关系 Table Supervisors 与 Student 是一对多的关系 Table Books 与学生有多对多的关系如果有人想要某所特定学校的所有信息(即与该学校相关联的学生、课程、教师、书籍、主管),那么 eloquent 是否可行?还是只能使用原始 SQL?
我不是在寻找示例的解决方案,只是查询多个表的方法,每个表都有多个关系。
【问题讨论】:
【参考方案1】:是的。这可以通过 Nested eager loading 雄辩地实现
$school=School::with('cources','cources.students.supervisor','cources.teacher','...')->first();
foreach($school->cources as $cource)
echo $cource;
echo $cource->teacher;
foreach($cource->students as $student)
echo $student;
echo $student->supervisor;
...
【讨论】:
以上是关于雄辩的,每个表的多个关系的主要内容,如果未能解决你的问题,请参考以下文章