Empfehlungen: Erweiterte Suche

Probleme beim aufbauen der Model Beziehung

Datenbankobjekte strukturieren und validieren

Probleme beim aufbauen der Model Beziehung

Beitragvon theforce » Sa 21. Mai 2011, 12:15

Hallo zusammen,

ich bekomme grad ein wenig nen Knoten im Hirn, vielleicht kann mir jemand weiterhelfen? :)
Folgendes.. ich möchte eine Artikeldatenbank aufbauen, die folgende Beziehungen enthält:

Ein Standort kann verschiedene Artikel enthalten
Ein Artikel enthält verschiedene Farben und diese wiederum besitzen mehrere Größen (und als weiterführung auch noch unterschiedliche Mengen pro Standort).

Wie lege ich dafür die Models an?
Eigentlich brauche ich für sowas ja eine "location_article_color_size" Tabelle in der Datenbank, um darüber jedem Artikel einen Standort oder mehrere Standorte zuweisen zu können.

Gibts da eine optimale Vorgehensweise?

Danke schonmal,
Martin
theforce
 
Beiträge: 2
Registriert: Sa 21. Mai 2011, 11:45

Re: Probleme beim aufbauen der Model Beziehung

Beitragvon mbrod » Sa 21. Mai 2011, 15:59

theforce hat geschrieben:Gibts da eine optimale Vorgehensweise?

Gibt's bestimmt. Hat aber nichts mit CakePHP zu tun sondern mit der Entwicklung von Datenmodellen, also wie bilde ich die Wirklichkeit in einem Datenmodell ab.
Ohne die optimale Vorgehensweise zu kennen, würde ich mal sagen in deinem Fall sind es drei Modelle nämlich
1.) die Artikel (article) mit den Attributen (Eigenschaften, Tabellenfeldern) name, size, color usw.
2.) den Filialen (agency) mit name, street, city, usw.
3.) eine Zwischentabelle (Bestand?), die die Anzahl der Artikel enthält: number sowie agency_id und article_id um die Beziehung zwischen Artikel und Filiale herzustellen

Die innere Tabelle belongsTo den äußeren Tabellen. Umgekehrt: die äußeren hasMany zur Zwischentabelle.
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: Probleme beim aufbauen der Model Beziehung

Beitragvon theforce » So 22. Mai 2011, 12:16

Hey!
vielen Dank... hat auf Anhieb gefunzt.
You saved my day! :)

Manchmal sind Datenbankschemas verwirrend, vorallem wenn man's schon länger nicht mehr gemacht hat. ;)
theforce
 
Beiträge: 2
Registriert: Sa 21. Mai 2011, 11:45

Re: Probleme beim aufbauen der Model Beziehung

Beitragvon enigmartin » Di 24. Mai 2011, 16:07

Zum Datenbank-Design verwendet ich mitlerweile MySQL Workbench (herunterladen). Wenn du damit erst einmal umgehen kannst erleichtert es dir die Arbeit mit CakePHP dermaßen. Es gibt einige Feinheiten die man dabei beachten sollte. Vorrausgesetzt du nutzt MySQL als Datenbank.

Einmal sollte man auf das Datenbank-Schema achten und auch auf die Datenbank Engine, dort verwende ich ausschließlich die Standard-Werte, sodas die Standards der verwendeten Datenbank verwendet werden.
Dann muss man aufpassen das man die Beziehungs-IDs für belongsTo unbenennt. MySQL Workbench vergibt die Beziehungs-IDs in der Mehrzahl, CakePHP nutzt aber die Einzahl, also wird aus users_id => user_id.
Dann benennt MySQL Workbench bei hasMany die Beziehungstabellen bspw. wie folgt: artists_has_albums, daraus wird dann für CakePHP albums_artists, in der alphabetischer Reihenfolge, also nicht artists_albums.

Wenn man diese Kleinigkeiten beachtet hat man ziemlich schnell eine Datenbank wo die Beziehungen recht gut stimmen. Den SQL-Code braucht man nur noch kopieren/explortieren und in die Datenbank einpflegen, also nicht von Hand schreiben. Mit der Cake-Console kann man dann ohne große Probleme das MVC backen und die Beziehungen stimmen dann auch schon. Bis ich da richtig drin war hab ich eine Weile gebraucht aber es klappt mitlerweile einwandfrei.

Ich stoße aber auch mal auf ein paar Extravagante Sachen die ich dann doch irgendwie per Hand lösen muss. Also perfekt ist nichts.

Dies nur als Tipp.
Benutzeravatar
enigmartin
 
Beiträge: 40
Registriert: So 27. Mär 2011, 10:42
CakePHP-Version: 1.3.8
OS: Windows 7


Zurück zu Models

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 1 Gast