いいえ、ありません。Cake の命名規則に従っている限り、Cake はテーブルの名前を気にしません。モデルがコントローラーによって初めてロードされるときに、魔法のモデルメソッドに使用するスキーマを生成します。指を離す必要はありません。http://book.cakephp.org/view/903/Model-and-Database-Conventionsを参照してください。
最善のアドバイス: これについて Cake と争わないでください。本当に Cake の規約を守れないのであれば、Cake を使わないほうがよいでしょう。それはばかげて難しく、混乱し、成功するということは、Cake の重い物を持ち上げる能力のほとんどを失ったことを意味します。テーブル名を複数形にすることはそれほど悪いことではなく、Cake は満足するでしょう。
この機能は 1.3 で既に利用可能です - テーブルに好きな名前を付けてください (複数形である限り)。
-- コンソールでベーキング アプリをチェックして、Cake が見たいものと、さまざまなテーブル レイアウトでどのように機能するかを理解することをお勧めします。
明確化後に編集:
モデル、コントローラー、およびビュー ディレクトリはすべて、次のように共通の名前を共有します。
// in /app/models/rate.php
class Rate extends AppModel {
var $name = 'Rate';
// in /app/controllers/rates_controller.php -- note the underscore
class RatesController extends AppController {
// controllers are capitalized + plural
var $name = 'Rates';
// /app/views/rates/*.ctp 内 - Cake の魔法の autoRender は // レンダリングするアクションと同じ名前のビュー ファイルを見つけることを期待します - Rates::index() のビューは index.ctp です
すべてのモデルは、cake の AppModel クラス (cake の Model クラスを拡張する) を拡張します。プレフィックスは必要ありません。すべてのコントローラは、Cake の AppController クラスを拡張します。クラス名には Controller というサフィックスが付き、ファイル名には _Controller というサフィックスが付きます。
/app で AppModel と AppController を細かく設定できます。これらは、アプリ全体のカスタム メソッドやプロパティに対して明示的に存在します。すべてのモデル/コントローラーがそれらを拡張するため、継承は、それらに配置したプロパティ/メソッド (Auth など) を自動的に分散させます。^_^
ただし、テーブルにモデル、コントローラー、ビューなどの名前を付けることができます。$name プロパティはエイリアスです。別の名前で別名を付けることにより、同じモデル内に同じテーブルの複数のインスタンスを作成できます。テーブルなしでモデルを作成でき、1 つのモデル内で複数のテーブル (またはデータベース、またはサーバー) を切り替えることができます。モデル用にデータベース タイプ以外のデータ オブジェクト (フラット xml ファイルなど) を作成することもできます。動的に名前が付けられたクラス/メソッド ($$Model::save() など) は、内部で実行されているものです。アプリをドライアップするために、繰り返しで同様のことを行いましたが、問題はありませんでした。(個人的には、Model という名前のローカル モデルを実際にやってのけることは、実験に費やした労力に見合う価値があるとは思えませんが...)
その上で、Cake の API はすべてのクラス、メソッドなどを綴っています (コードベースのコメントから生成されます)。
http://api13.cakephp.org/classes
HTH。:D