Empfehlungen: Erweiterte Suche

Namenskonvention habtm?

Datenbankobjekte strukturieren und validieren

Namenskonvention habtm?

Beitragvon mivogtLU » Mo 15. Feb 2010, 12:49

Nur um sicher zu gehen ehe ich es falsch mache frage ich lieber nochmal hier nach.
Tabellennamen sind im Plural. Mehrere Worte werden mit Underscore '_ ' getrennt.

Tabellen für habtm enthalten beide Tabellennamen in alphabetischer Abfolge.
Frage: Namen der beiden Partner-Tabellen dann im Plural oder Singular?

Mal einige meiner Tabellen:
* lodgings
* lodging_prices
* materials
* materials_requests
* requests
* requests_rooms
* rooms


Room und Request sind habtm - also erstelle ich eine Tabelle requests_rooms oder request_room?
Material und Request sind habtm - also erstelle ich eine Tabelle materials_requests oder material_request?

Wäre nett wenn ich kurz den fehlenden FIngerzeig bekomme da ich ein wenig verwirrt bin:
Habe gerade mit cake1.3ß baken wollen und egal wie rum ich meine Benennung anfing hat er mal hier und mal da an den Tabellennamen gemeckert; mal beim Modell erstellen, das der TabellenName so nicht dert Konvention entspricht (die Meldung an sich ist ja super lehrreich und hilft weiter sich zu bessern) oder wenn ich dann tabellen wie vorgeschlagen erstellte hat es beim Erstellen der Fixtures jedesmal den bake abgebrochen weil eine Tabelle nicht gefunden wird deren Name dann nicht den von mir zuvor nach Vorgabe erzeugten entzsprochen hat.

Danke und Grüße

Michael
mivogtLU
 
Beiträge: 46
Registriert: Di 12. Jan 2010, 21:22
Wohnort: 67059
CakePHP-Version: 1.3 final
OS: Linux, Win XP-Vista

Re: Namenskonvention habtm?

Beitragvon euromark » Mo 15. Feb 2010, 13:11

hinten nie singular!

wenn dann also
request_rooms
und
material_requests

genauso mach ichs übrigens - auch wenn das nicht direkt konvention ist, macht das viel mehr sinn!
denn dies wäre auch korrektes englisch (wie im deutschen wird der erste teil zum singular).
du musst die änderungen nur im model hinterlegen, ansonsten erkennt cake die ja dann nicht (da nich mehr konvention)
euromark
 
Beiträge: 618
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.1
OS: Windows

Re: Namenskonvention habtm?

Beitragvon Dogo » Mo 15. Feb 2010, 13:19

Tach,

der Plural ist es. Model1 HABTM Model2, Tabellen dazu sind:
Model1s,
Model2s und
Model1s_Model2s

Also alles im Plural. Schau mal hier: http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf

Im Model ist Singular (Birne), im Controller Plural (BirnenController). Tabellen auch im Plural, aber klein (birnen).
Wenn Du im Controller ein Model ansprichst, dann ist es $this->Birne.
Der Ordner für die Views ist auch Singular (views/birne/inxec.ctp).

Ich "bake" überhaupt nich, sondern erstelle zuerst ein Modell. Dann rufe ich das auf (/localhost/app/birne).
Dann sagt Cake mir, dass die Tabelle "birnen" fehlt. Dann lege ich die an. Dann rufe ich wieder die url auf.
Dann beschwert Cake sich, dass der controller "BirnenController" nicht existiert. Wen ich den angelegt habe,
fragt Cake als nächstes nach der Datei "/views/birne/index.ctp" und so weiter.
Wenn Du Dir mal nicht sicher bist, geht es auch so.

Grüße,

Dogo
Benutzeravatar
Dogo
 
Beiträge: 63
Registriert: Do 6. Aug 2009, 00:59
Wohnort: Wuppertal

Re: Namenskonvention habtm?

Beitragvon Dogo » Mo 15. Feb 2010, 13:30

euromark hat geschrieben:hinten nie singular!

wenn dann also
request_rooms
und
material_requests

genauso mach ichs übrigens - auch wenn das nicht direkt konvention ist, macht das viel mehr sinn!
denn dies wäre auch korrektes englisch (wie im deutschen wird der erste teil zum singular).


Aber es werden doch "Materialien" mit "Räumen" verknüpft, nicht nur einzeln. Ist ja nicht "has many" und "belogns to".
Benutzeravatar
Dogo
 
Beiträge: 63
Registriert: Do 6. Aug 2009, 00:59
Wohnort: Wuppertal

Re: Namenskonvention habtm?

Beitragvon euromark » Mo 15. Feb 2010, 15:11

ja, aber diese 1:N beziehung wirds ja nie geben, da es N:M (HABTM) ist (und nur eins von beidem sein kann)
und daher wird es auch nie einen namenskonflikt geben
euromark
 
Beiträge: 618
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.1
OS: Windows


Zurück zu Models

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron