Empfehlungen: Erweiterte Suche

In einer Tabelle mehere Beziehungen

Datenbankobjekte strukturieren und validieren

In einer Tabelle mehere Beziehungen

Beitragvon bacarni » Di 16. Mär 2010, 11:36

Hallo,
der Titel passt vllt nicht richtig. Allerdings weiß ich nicht so recht, wie ich es ausdrücken soll.

Mein Problem ist folgendes:
Ich habe eine Tabelle mit Mannschaftsnamen und eine zweite Tabelle für die Spiele der Mannschaften. In der Spieletabelle gibt es die Spalten Heim und Gast. In den befinden sich die IDs der Mannschaftsnamen. Nun möchte ich die IDs gerne mit den Mannschaftsnamen verknüpft haben.

Jetzt habe ich also pro Reihe 2 IDs, die ich durch die Mannschaftsnamentabelle "ersetzten" möchte.

Allerdings fällt mir nicht ein :(

Danke für eure Hilfe.

---
Edit

Ok. Ich habe es mit folgendem geschafft, dass der einen MannschaftsID der Name zugeordnet wird:
Code: Alles auswählen

var $belongsTo = array(
            "Club" => array (
                "foreignKey" => "home"
                    )
                               );
 

Allerdings kann ich keinen zweiten foreignKey definieren...
bacarni
 
Beiträge: 9
Registriert: Di 17. Nov 2009, 10:04

Re: In einer Tabelle mehere Beziehungen

Beitragvon mbrod » Di 16. Mär 2010, 21:24

Ohne es näher überprüft zu haben, vielleicht geht ja so was:
Code: Alles auswählen
var $belongsTo = array(
    'Club' => array(
        'className' => 'Club',
        'foreignKey' => 'home'
    ),
    'Club' => array(
        'className' => 'Club',
        'foreignKey' => 'guest'
    )
);
 
mbrod
 
Beiträge: 199
Registriert: Mi 20. Mai 2009, 18:09
Wohnort: Frankfurt am Main
CakePHP-Version: 1.3.8
OS: Mac OS X

Re: In einer Tabelle mehere Beziehungen

Beitragvon bacarni » Di 16. Mär 2010, 21:34

Das klappt leider nicht. Er nimmt einfach das letzte array.
bacarni
 
Beiträge: 9
Registriert: Di 17. Nov 2009, 10:04

Re: In einer Tabelle mehere Beziehungen

Beitragvon bacarni » Do 18. Mär 2010, 10:48

@mbrod: Du hast doch recht. Es funktioniert jetzt. Allerdings musste ich "Club_home" und "Club_guest" schreiben. Sonst nimmt er nur den letzten Eintrag. Danke!

Code: Alles auswählen
var $belongsTo = array(
    'Club_home' => array(
        'className' => 'Club',
        'foreignKey' => 'home'
    ),
    'Club_guest' => array(
        'className' => 'Club',
        'foreignKey' => 'guest'
    )
);
 
bacarni
 
Beiträge: 9
Registriert: Di 17. Nov 2009, 10:04

Re: In einer Tabelle mehere Beziehungen

Beitragvon phyrexianer » Fr 19. Mär 2010, 11:00

hier auch der Eintrag im Cookbook / Kochbuch
phyrexianer
 
Beiträge: 30
Registriert: Fr 19. Jun 2009, 10:52

Re: In einer Tabelle mehere Beziehungen

Beitragvon phyrexianer » Mo 22. Mär 2010, 01:09

genauso müsste es doch auch bei HABTM-Tabellen funktionieren oder ?
phyrexianer
 
Beiträge: 30
Registriert: Fr 19. Jun 2009, 10:52

Re: In einer Tabelle mehere Beziehungen

Beitragvon bacarni » Mo 22. Mär 2010, 01:55

Hallo.
Naja, was ich nicht verstanden habe ist, dass wenn ich Club1, Club2 für das array geschrieben habe es nicht funktioniert hat. Während es bei Club_home und Club_guest funktioniert. Denke mir, dass es Cake-Magic ist ;)
bacarni
 
Beiträge: 9
Registriert: Di 17. Nov 2009, 10:04

Re: In einer Tabelle mehere Beziehungen

Beitragvon euromark » Mo 22. Mär 2010, 11:50

das liegt weniger daran, als an der tatsache, dass man keine numerischen werte in Modelnamen benutzt!

außerdem wäre die korrekte bezeichnung camelcased:
ClubHome
ClubGuest
euromark
 
Beiträge: 644
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows

Re: In einer Tabelle mehere Beziehungen

Beitragvon bacarni » Fr 2. Apr 2010, 10:05

Ok. Vielen Dank für die Aufklärung. Dann werde ich es auch noch in CamelCase ändern.
bacarni
 
Beiträge: 9
Registriert: Di 17. Nov 2009, 10:04


Zurück zu Models

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste