每个表都有雄辩的多重关系

时间:2016-11-18 01:06:17

标签: database laravel laravel-5 orm eloquent

是否可以通过eloquent查询链接表链,其中一些表具有多个关系并获取所有相关信息?

例如:

  • 表学校与课程有一对多的关系
  • 表课程与学生有很多很多关系
  • 表教师与课程有一对多的关系
  • 表主管与学生有一对多的关系
  • Table Books与学生有很多关系

如果想要某个特定学校的所有信息(即与学校相关的学生,课程,教师,书籍,主管),那么这些信息是否可以通过雄辩的方式实现?或者只能使用原始SQL吗?

我没有寻找示例的解决方案,只是查询多个表的方法,每个表都有多个关系。

1 个答案:

答案 0 :(得分: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;
   }
...