Empfehlungen: Erweiterte Suche

Logikfrage zu spezieller Modellverknüpfung

Fragen zur Konzeptionierung und womit man am besten anfäng? Hier rein...

Logikfrage zu spezieller Modellverknüpfung

Beitragvon Bill Mang » Fr 5. Aug 2011, 16:52

Da das hier mein erster Beitrag ist, erst einmal: Hallo alle zusammen!

Ich nutze CakePHP nun seit 2 Wochen und bin schlichtweg begeistert.
Ich schlage mich jetzt aber seit fast 2 Tagen mit folgenden Logikproblem herum:

Angenommen es gibt eine Tabelle "profiles", in der ein Benutzer mehrere Länder nennen/verknüpfen kann, in die er gereist ist und zum anderen mehrere Länder in denen er gewohnt hat. Hierfür habe ich erstmal eine Tabelle "countrys" erstellt, in der aller Länder der Welt eingepflegt werden können.
Sollten nun nur Reiseländer ausgewählt werden, wäre die Sache ja klar: Profile hasAndBelongsToMany Country und umgekehrt. Ein Benutzer kann in vielen Ländern gereist sein und ein (Reise)Land kann viele Reisende haben. Die Verknüpfungstabelle würde countries_profiles heißen. Fertig.

Aber nun soll es ja noch die Option geben mehrere Länder anzugeben in denen man gewohnt hat... vom Prinzip her das gleiche, nur dass ich ja keine 2 verschiedenen hasAndBElongsToMany Relationen zwischen den Tabellen herstellen kann, oder?

Vielleicht habe ich ja auch nur ein Brett vorm Kopf...

Hat jemand einen Denkanstoss? Oder einen nützlichen Link?
Bill Mang
 
Beiträge: 5
Registriert: Fr 5. Aug 2011, 16:36

Re: Logikfrage zu spezieller Modellverknüpfung

Beitragvon Dogo » Do 18. Aug 2011, 11:38

Wie wäre es denn, wenn Du einen weiteren Wert in countries_profiles mitspeicherst, der die Beziehung genauer definiert? So was wie "1" für "gelebt" und "0" für "bereist" oder so.
Benutzeravatar
Dogo
 
Beiträge: 63
Registriert: Do 6. Aug 2009, 00:59
Wohnort: Wuppertal

Re: Logikfrage zu spezieller Modellverknüpfung

Beitragvon euromark » Do 18. Aug 2011, 12:16

oder gleich tinyint(2) und damit ein pseudoenum, falls es mehr als nur 2 zustände gibt^^
z.b. mit
http://www.dereuromark.de/2010/06/24/static-enums-or-semihardcoded-attributes/
euromark
 
Beiträge: 642
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows

Re: Logikfrage zu spezieller Modellverknüpfung

Beitragvon Bill Mang » Mo 29. Aug 2011, 09:23

Danke für eure Antworten!

Ich habe das Problem jetzt so gelöst:

countries = eine autonome Tabelle ohne Relation im Modell

In meinem Profil Modell:
profiles hasMany countries_travel UND profiles hasMany countries_location

Beide "Verknüpfungstabellen" haben die Felder: id, country_id und profile_id
Im Modell:
countries_travel belongsTo profile UND countries_travel belongsTo country

Funktioniert wunderbar. Tinyint wäre wahrscheinlich smarter gewesen, aber so gehts auch.

Danke noch mal und euch allen einen guten Start in die Woche!
Bill Mang
 
Beiträge: 5
Registriert: Fr 5. Aug 2011, 16:36


Zurück zu Konzeption und Vorgehensweise

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron