【问题标题】: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?

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

【问题讨论】:

    标签: database laravel laravel-5 orm eloquent


    【解决方案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;
       }
    ...
    

    【讨论】:

      猜你喜欢
      • 2017-10-17
      • 1970-01-01
      • 2021-03-10
      • 1970-01-01
      • 2015-12-05
      • 2015-03-07
      • 1970-01-01
      • 2019-06-18
      相关资源
      最近更新 更多