1
我在Laravel把一个简单的报告卡系统作为一个学习工具。目前我有一个Pupil
表,一个Subject
表和一个Pupil_Subject
数据透视表,由id, pupil_id, subject_id,
和grade
列组成。如何从此表中获取所需的列?
我的瞳孔和主体模型关系都设置为belongsToMany
。但是,如果我运行,例如,在$pupil = App\Pupil::find(1)->subjects
廷克,我得到下面的输出:
Illuminate\Database\Eloquent\Collection {#729
all: [
App\Subject {#726
id: 1,
subjectname: "English",
pivot: Illuminate\Database\Eloquent\Relations\Pivot {#731
pupil_id: 1,
subject_id: 1,
},
},
App\Subject {#728
id: 2,
subjectname: "Maths",
pivot: Illuminate\Database\Eloquent\Relations\Pivot {#730
pupil_id: 1,
subject_id: 2,
},
},
],
}
随着瞳孔(1)无学生信息,并在subjects
无级柱的迹象。我究竟做错了什么?
谢谢,这工作,但我如何访问数据透视表中的每个条目的'grade'财产? – user4676723
@ user4676723您应该在关系中使用'withPivot()'方法,然后遍历'subjects'并使用' - > pivot-> grade'获取属性。 https://laravel.com/docs/5.4/eloquent-relationships#many-to-many –
工作过一次,感谢 – user4676723