zwei Fremdschlüssel, wie mit Laravel eloquent zuordnen

8

Ich habe zwei Tabellen in MySQL, wobei die erste als Benutzer und die zweite als Spiele bezeichnet wird. Die Tabellenstruktur ist wie folgt.

Benutzer

  • id (primär)
  • E-Mail
  • Passwort
  • echter_name

Spiele

  • id (Primär)
  • user_one_id (fremd)
  • user_one_score
  • user_two_id (fremd)
  • user_two_score

Meine Spieltabelle enthält zwei fremde Beziehungen zu zwei Benutzern.

Meine Frage ist, wie mache ich die Modellbeziehungen für diese Tabellenstruktur? - Laut der Laravel-Dokumentation sollte ich eine Funktion innerhalb des Modells erstellen und sie mit ihren Beziehungen verknüpfen

zum Beispiel

%Vor%

Ich kann jedoch nichts in der Dokumentation finden, die mir sagt, wie ich mit zwei Fremdschlüsseln umgehen soll. wie in meiner Tabellenstruktur oben.

Ich hoffe, Sie können mir auf diesem Weg helfen.

Danke

    
Rohwedder 31.07.2014, 14:36
quelle

2 Antworten

13

Eine Migration:

%Vor%

Und ein Modell:

%Vor%

BEARBEITEN "Spiel" wurde zu "Spiel" geändert, wie der Benutzer vorgeschlagen hat.

    
delmadord 31.07.2014, 14:43
quelle
0

Leider wird die Art und Weise, wie Sie diese Einrichtung haben, im aktuellen Kontext wahrscheinlich nicht funktionieren. Möglicherweise haben Sie mehr Glück mit der Methode "belongsTo", aber wiederum unterstützt nur eine Beziehung.

Sie könnten ein user1 () ansicesTo, ein user2 () andesTo implementieren und schließlich einfach eine nicht redegewandte Funktion deklarieren, um beide zurückzugeben (etwas wie $ users = array ($ this- & gt; user1 (), $ this- & gt; user2 ())

    
drmarvelous 31.07.2014 14:44
quelle

Tags und Links