Ich versuche, meinen Kopf bidirektionale selbstreferenzielle hasMany durch Beziehungen in CakePHP (was für ein Bissen!).CakePHP: bidirektionale selbstreferentielle hasMany Durch Assoziationen
Ich arbeite an einer Bild passenden Website.
- Bilder werden mit anderen Bildern über eine "Übereinstimmung" (das Join-Modell) verknüpft.
- Jedes Spiel hat zwei Bilder und speichert die aktuelle Bewertung und die Gesamtzahl der Stimmen.
- Wenn ein Bild angezeigt wird, sollten alle zugehörigen Bilder aus jeder Richtung verfügbar sein (über seine Übereinstimmungen).
Ich habe damit begonnen, eine hasMany-Beziehung mit einem Join-Modell zu definieren.
Die pictures_matches Join-Tabelle mit dieser Struktur hat:
id | picture_id | partner_id | rating | total_votes
Mein Spiel beitreten Modell Verband wie folgt aussieht:
class PictureMatch extends AppModel {
...
public $belongsTo = array(
'Picture' => array(
'className' => 'Picture',
'foreignKey' => 'picture_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Partner' => array(
'className' => 'Picture',
'foreignKey' => 'partner_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
}
Jedes Bild seine verwandten Bilder in der Lage sein muss, aus beiden Richtungen zugreifen zu können, Aber hier rutscht mein Griff. Es sieht so aus, als ob ich beide Seiten der Beziehung speichern muss, aber das zerstört die zusätzlichen Daten, die im Join-Modell gespeichert sind - mit zwei db-Einträgen kann die Abstimmung je nach Richtung variieren.
Kann jemand etwas Licht auf den besten Weg, dies in CakePHP zu tun? Ich bin ziemlich verwirrt.
Ist es möglich, die umgekehrten Beziehungen im laufenden Betrieb zu erstellen?
Haben Sie das jemals herausgefunden? –
Sollte className im Partner-Bereich "Partner" sein? – khany