Ich habe 2 Controller & Modelle:Modell Beziehung in Laravel
Benutzer Controller: (Model Beziehung:
$this->hasMany(Hero::Class);
)Hero-Controller: Jeder Held seine eigenen Attribute hat, wie Name, Stärke und Leben. Modell Beziehung: (
$this->belongsTo(User::class);
)
Jeder Benutzer kann mehrere Helden besitzen.
das bedeutet, dass USER ID: 1
3 Helden haben können: HERO ID 5, 20, 26.
.
Meine Frage: Wie definieren Sie die Beziehungen so und machen Laravel weiß, wie mit meiner user_heroes
Tabelle umzugehen? Die Beziehung ich spreche in der folgenden Abbildung beschrieben:
Wie richte ich eine solche Art von Beziehung in meinem Laravel API?
Sie meinen 'UserModel' und' HeroModel', nicht wahr? Eloquente Modelle haben Beziehungen, keine Controller. –
Ja, das meine ich. – TheUnreal
Es scheint mir, was Sie wollen, ist eine Eins-zu-viele-Beziehung, aber Ihre Datenbank spiegelt diese Beziehung nicht wider. Sie benötigen eine Pivot-Tabelle im Fall einer Viele-zu-Viele-Beziehung. Wenn Sie eine Eins-zu-viele-Beziehung haben möchten, brauchen Sie ein 'user_id'-Feld in Ihrer' held'-Tabelle, Sie brauchen keine Pivot-Tabelle. So erwartet Laravel, dass Sie Ihre Datenbank für diese Art von Beziehung einrichten. – Pavlin