CakePHPのテーブル規約
調べてみたら、もっといろいろ制約がありました。。
http://gihyo.jp/dev/serial/01/cakephp/0005
テーブル名は複数形。
しかも「英語的に正しい複数形」を要求されるそうです。
……複数形のない単語は?
その場合は、単数形のまま(peopleとか)で良いようです。
http://book.cakephp.org/ja/revisions/view/2995/
このパターン、割りとハマりやすいようで・・・person,informationなどが鬼門の模様。
http://kashioka.net/2009/02/cakephp-information.html
オリジナルの定義を入れて逃げることもできるみたいですが。
http://www.onlineconsultant.jp/pukiwiki/index.php?CakePHP%20%E8%A4%87%E6%95%B0%E5%BD%A2%E3%81%AE%E8%A8%AD%E5%AE%9A
複数単語からなるテーブル名はアンダースコア区切り
これは今まで、暗黙でやってました。
MySQLって、普通テーブル名に大文字使えませんし。
外部キーとJOINに注意
http://book.cakephp.org/ja/revisions/view/2995/
hasMany, blongsTo, hasOne 中の外部キーは、デフォルトで関連するモデルの(単数形の)名前に _id を付けたものとして認識されます。ケーキ職人(backer)がケーキ(cakes)を複数持っている(hasMeny)としたら、cakes テーブルは、baker_id を外部キーとして bakers テーブルのデータを参照します。
モデル間の hasAndBelongsToMany (HABTM) の関係で使用される join テーブルは、join するテーブルに合わせて、アルファベット順に(zebras_apples ではなく、apples_zebras)並べた名前にしてください。
ややこしい・・・・
プライマリキーはid
これは一応把握してました ^^;
ちょっとかじったsymfonyも同様だったので