Ich stelle ein einfaches Berichtskartensystem in Laravel zusammen, nur als Lernwerkzeug. Zur Zeit habe ich eine Pupil
Tabelle, eine Subject
Tabelle, und eine Pupil_Subject
Pivot-Tabelle bestehend aus id, pupil_id, subject_id,
und grade
Spalten.Wie kann ich die erforderliche Spalte aus dieser Tabelle abrufen?
Ich habe die Schüler und Subject Modell Beziehungen beide auf belongsToMany
festgelegt. Allerdings, wenn ich laufe, zum Beispiel $pupil = App\Pupil::find(1)->subjects
in Tinker, erhalte ich die folgende Ausgabe:
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,
},
},
],
}
Ohne Schüler Informationen für Schüler (1), und kein Zeichen der Klasse Spalte in subjects
. Was mache ich falsch?
Danke, das funktioniert, aber wie kann ich auf die 'grade' Eigenschaft jeder Eintrag in der Pivot-Tabelle? – user4676723
@ user4676723 sollten Sie 'withPivot()' Methode in Ihrer Beziehung verwenden und dann über 'Themen' iterieren und die Eigenschaft mit '-> pivot-> grade 'erhalten. https://laravel.com/docs/5.4/eloquent-relationships#many-to-many –
Arbeitete ein Vergnügen, danke – user4676723