首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hasManyThrough -Laravel5.8

hasManyThrough -Laravel5.8
EN

Stack Overflow用户
提问于 2020-12-07 03:48:04
回答 1查看 31关注 0票数 0

我的数据库表结构如下:

教室

  • id (int) PK
  • 名称(varchar)

ClassTeacherCourse

  • id (int) PK
  • id_classroom (int) FK
  • id_teacher (int) FK
  • id_course (int) FK

课程

  • id (int) PK
  • course_name (varchar)

教师

  • id (int) PK
  • teacher_name (varchar)

到目前为止,我只需要调用ClassRoom表& ClassTeacherCourse,如下所示:

代码语言:javascript
复制
$class = Class::find($id)
                 ->with(['classcourseteacher'])
                 ->get();

Class模型中的关系:

代码语言:javascript
复制
public function classcourseteacher() {
    return $this->hasMany('App\ClassCourseTeacher', 'id_class', 'id');
}

结果:

代码语言:javascript
复制
[
    {
        "id": 57,
        "id_school": 2,
        "class_name": "7 I",
        "classcourseteacher": [
            {
                "id": 406,
                "id_class": 57,
                "id_course": 9,
                "id_teacher": 68,
                "created_at": "2020-11-10 16:11:14",
                "updated_at": "2020-11-10 16:11:14"
            },
            {
                "id": 434,
                "id_class": 57,
                "id_course": 11,
                "id_teacher": 66,
                "created_at": "2020-11-10 16:11:14",
                "updated_at": "2020-11-10 16:11:14"
            },
        ]
    }
]

我读过雄辩:关系关于hasManyThrough的文章,但在文档中,情况与我不同。

如何通过口才打电话一次:与课程和老师的关系?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-07 04:49:58

ClassTeacherCourse课堂上放置教师与课程的关系

代码语言:javascript
复制
function teacher() {
    return $this->belongsTo(Teacher::class);
}

function course() {
    return $this->belongsTo(Course::class);
}

然后你就可以这样称呼它来获得细节

代码语言:javascript
复制
$class = Class::find($id)
             ->with(['classcourseteacher.teacher', 'classcourseteacher.course'])
             ->get();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65175888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档