Empfehlungen: Erweiterte Suche

Verwirrt was ich nehmen soll

Datenbankobjekte strukturieren und validieren

Verwirrt was ich nehmen soll

Beitragvon klagoggle » Mo 26. Mai 2008, 18:31

Hello,

ich bin gerade Total verwirrt oder hab einfachnur nen Hänger...

Ich hab 3 Tabellen.

Artists, Events.

1 event kann mehrere Artists haben
aber ein Artist kan auch mehrere Events haben.

Also was mach ich?

Artist hasMany Events
Events hasMany Artists ?
Brauch ich ne kreuztabelle z.B. Lineups?
Wie verknüpf ich sie?

Helft mir bitte auf den Sprung, ich checks grade gar nicht :-(

Danke im vorraus für die Hilfe,
Thomas
klagoggle
 
Beiträge: 10
Registriert: Mi 4. Jun 2008, 22:30

Re: Verwirrt was ich nehmen soll

Beitragvon Alex » Mo 26. Mai 2008, 18:32

Probier es mal mit


Code: Alles auswählen
  var $hasAndBelongsToMany = array('Event');


oder so.
Alex
 
Beiträge: 120
Registriert: Di 13. Mai 2008, 13:39
Wohnort: Bremen
CakePHP-Version: 1.x.x
OS: OSX / Win 7 / Debian

Re: Verwirrt was ich nehmen soll

Beitragvon klagoggle » Mo 26. Mai 2008, 18:32

Wenn ich das Artist Model baken will, dann sagt er mir:

"
One moment while the associations are detected.
---------------------------------------------------------------
None found.
"

das liegt wahrscheinlich dadran , dass ich bei Event keine artist_id habe, o.ä.

Aber mein Problem ist, dass ja mehrere ARtist bei einem Event sein können?
Oder denk ich nu schon wieder falsch :-(
klagoggle
 
Beiträge: 10
Registriert: Mi 4. Jun 2008, 22:30

Re: Verwirrt was ich nehmen soll

Beitragvon Bladeflo » Mo 26. Mai 2008, 18:32

wenn ich das richtig verstanden hab, dann können mehrere artists auf einem Event sein, und ein artist mehrere Events haben (is ja durchaus logisch)
aber ich denke du kommst nicht ohne eine dritte Tabelle aus
es sei denn du trägst ein für jeden Artisten das event nochmal ein und filterst die Ausgabe der Events dann.. aber ich denk ne neue Tabelle wäre leichter und sinnvoller
Bladeflo
 

Re: Verwirrt was ich nehmen soll

Beitragvon klagoggle » Mo 26. Mai 2008, 18:32

ja das dachte ich mir auch und hab eine 3. tabelle "linup" mit id, artist_id und event_id erstellt.

Jetzt aber die große hasMany belongsTo frage:
Wie mach ichs :d

Lineup -> belongsTo event & artist
Event -> hasMany Lineup
Artist -> hasMany Lineup?

tüftel da jetzt schon die ganze zeit daran rum, aber irgendwie sitz ich aufn schlauch
klagoggle
 
Beiträge: 10
Registriert: Mi 4. Jun 2008, 22:30

Re: Verwirrt was ich nehmen soll

Beitragvon klagoggle » Mo 26. Mai 2008, 18:33

Jop, genauso geht es :D
Ich war die ganze Zeit nu so verwirrt weil ich in der Tabelle Events eine Spalte "linup" hatte.

Hm, heißt das nächste mal Augen auf beim Amoklauf.

Vielen dank für eure Unterstützung!
klagoggle
 
Beiträge: 10
Registriert: Mi 4. Jun 2008, 22:30

Re: Verwirrt was ich nehmen soll

Beitragvon Bladeflo » Mo 26. Mai 2008, 18:33

hatte ja vorhin in etwa das selbe wie du^^
weine -> belongsTo weine_land & weine_kat
weine_land -> hasMany weine
weine_kat -> hasMany weine

mein Prob dabei war das ich ich aus weine Lands sowohl das land als auch das Anbaugebiet holen muss und das ganze dann in ein Select kommen soll...
musste ich den array der sql abfrage umschreiben sodass er 'key' => 'anbaugebiet - land' daraus macht
Bladeflo
 

Re: Verwirrt was ich nehmen soll

Beitragvon Janress » Mo 26. Mai 2008, 18:33

Richtig mit der dritten Tabelle.
n:m benötigt immer eine extra Tabelle.

Evtl. kannst du bei lienup die id auch weglassen. Wenn die Kombi artist_id und event_id unique ist...
Janress
 

Re: Verwirrt was ich nehmen soll

Beitragvon Bladeflo » Mo 26. Mai 2008, 18:34

in der Theorie klar, aber Cake erwartet nunmal eine ID um den Eintrag zu bearbeiten / löschen...
Bladeflo
 

Re: Verwirrt was ich nehmen soll

Beitragvon Alex » Mo 26. Mai 2008, 18:34

Es gibt allerdings irgendwie die Möglichkeit (ich muss nachschauen) das Cake beim Löschen eines Events die zugehörigen Relations aus der Relation-Table löscht.

Muss die Tabelle nicht in diesem Fall sowieso artists_events? Dann hat man doch eine HABTM-Relation...
Alex
 
Beiträge: 120
Registriert: Di 13. Mai 2008, 13:39
Wohnort: Bremen
CakePHP-Version: 1.x.x
OS: OSX / Win 7 / Debian

Nächste

Zurück zu Models

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron