如何从此表中获取所需的列?

时间:2017-06-20 12:50:08

标签: php laravel eloquent

我正在将Laravel中的一个简单的报告卡系统作为一种学习工具。目前,我有一个Pupil表,一个Subject表和一个由Pupil_Subjectid, pupil_id, subject_id,列组成的grade数据透视表。

我将Pupil和Subject模型关系设置为belongsToMany。但是,如果我在Tinker中运行$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中没有成绩栏的标志。我做错了什么?

1 个答案:

答案 0 :(得分:2)

如果您需要同时获取PupilSubject个对象,请使用eager loading

$pupil = App\Pupil::with('subjects')->find(1);