Я использую CakePHP 2.1 и мне нужно определить правило Inflector для слова «Программное обеспечение», потому что CakePHP преобразует все ссылки во множественную форму «Программное обеспечение», что неверно. 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',
Каким будет правильный код для определения правила Программного единственного Inflector?
EDIT:
Inflector::rules('singular', array('rules'=>array('/software/'=>'software'),'irregular'=>array('software'=>'software'),'uninflected'=>array('software')));
Я попытался добавить это правило, которое работает для SoftwareController, но Cake жалуется, что не может найти таблицу Softwares, которая на самом деле называется «Software». Я чувствую, что я близко, но все еще что-то упускаю из-за того, как это работает.