CakePHP-Model-Beziehung mit Mehreren Fremdschlüssel
In meine CakePHP-app habe ich Modelle für Spiele und Teams. Jedes Spiel hat eine home_team_id und ein away_team_id, beide verweisen auf ein anderes Team.
In meinem team.php Datei, ich bin in der Lage, die Beziehung für eine Mannschaft Heimspiele:
var $hasMany = array(
'HomeMatch' => array('className' => 'Match', 'foreignKey' => 'home_team_id'),
'AwayMatch' => array('className' => 'Match', 'foreignKey' => 'away_team_id')
);
Mein problem ist, dass ich nicht automatisch abrufen eines Teams Heim-und Auswärtsspielen in einem einzigen array. Das heißt, die abgerufenen Spiele zurückgegeben werden, in separaten HomeMatch und AwayMatch arrays, die Ursachen der Sortierung Schwierigkeiten.
Ich habe versucht, die folgenden:
var $hasMany = array(
'Match' => array('foreignKey' => array('home_team_id', 'away_team_id'))
);
...ohne Glück.
Irgendwelche Ideen auf, wie die Kombination dieser zwei Fremdschlüssel in einer einzigen Beziehung?
Dank, Ben
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer benutzerdefinierten finderQuery sollte den trick tun:
Ich hatte ein ähnliches Problem und anstatt eine
finderQuery
ich benutzte dieconditions
operator und es hat Super geklappt!Werden Sie wieder in seperate Arrays ist, weil die Art von darstellen verschiedene Modelle (in diesem speziellen Fall das Modell ist das gleiche).
Sollten Sie wahrscheinlich bauen eine helper-Methode gehen über die abgerufenen Daten (im Modell-Objekt oder in eine separate Hilfsklasse) und "glätten" können. dann würden Sie in der Lage sein zu Sortieren.
Ken.