私は CakePHP 2.1 を使用していますが、「Software」という単語の Inflector ルールを定義する必要があります。これは、CakePHP がすべての参照を複数形の「Softwares」に変換しているためです。これは正しくありません。Cake は SoftwaresController と Softwares という名前のテーブルを探しています。
ブート ストラップでルールを作成し、このドキュメント リファレンスを読むことは知っています。
http://book.cakephp.org/2.0/en/development/configuration.html#inflection-configuration
lib/Cake/Inflector.php ファイルも調べましたが、ルールを定義するための構文がわかりません。正規表現のように見えます。ルールの例をいくつか示します。
'/(s)tatus$/i' => '\1\2tatuses',
'/(quiz)$/i' => '\1zes',
'/^(ox)$/i' => '\1\2en',
'/([m|l])ouse$/i' => '\1ice',
'/(matr|vert|ind)(ix|ex)$/i' => '\1ices',
'/(x|ch|ss|sh)$/i' => '\1es',
Software Singular Inflector ルールを定義する正しいコードはどれですか?
編集:
Inflector::rules('singular', array('rules'=>array('/software/'=>'software'),'irregular'=>array('software'=>'software'),'uninflected'=>array('software')));
SoftwareController で機能するこのルールを追加しようとしましたが、Cake は、実際には「Software」という名前の Softwares テーブルが見つからないと不平を言っています。私は近づいていると感じていますが、これがどのように機能するかについてまだ何かが欠けています.