1
私はLaravelの簡単なレポートカードシステムを学習ツールとしてまとめています。現在私はPupil
テーブル、Subject
テーブル、 id, pupil_id, subject_id,
とgrade
カラムからなるピボットテーブルを持っています。このテーブルから必要な列を取得するにはどうすればよいですか?
私は、瞳孔と被験者のモデル関係を両方ともbelongsToMany
に設定しました。瞳(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,
},
},
],
}
:私は実行する場合は、例えば、ティンカーで$pupil = App\Pupil::find(1)->subjects
は、私は次の出力を取得します。私は間違って何をしていますか?あなたは両方のPupil
とSubject
オブジェクトを取得する必要がある場合は
おかげで、働くことが、私は、ピボットテーブルの各エントリの 'grade'プロパティにアクセスすることができますか? – user4676723
@ user4676723あなたの関係に 'withPivot()'メソッドを使用し、次に 'subjects'を反復して' - > pivot-> grade'でプロパティを取得する必要があります。 https://laravel.com/docs/5.4/eloquent-relationships#many-to-many –
治療を受けました、ありがとう – user4676723