使用CakePHP 3.7。
我在config/bootstrap.php
的底部添加了
Inflector::rules('irregular', ['thesis' => 'theses']);
实际上,我已经尝试过
Inflector::rules('irregular', ['theses' => 'thesis']);
以防万一我倒过来。
在一个我要使用的单元格中:
use Cake\Utility\Inflector;
$singular_and_plural = [Inflector::singularize($base_name), $base_name];
将单词“主题”单数化的结果是“主题”。
有人可以在这里指出出什么问题吗?
答案 0 :(得分:1)
第一种形式是正确的形式,键是单数,而值是复数。
也就是说,您在这里显示的是Inflector::singularize()
的不正确/有问题的用法,因为您向其传递了已经是单数的值,这样做通常会给您带来意想不到的/错误的结果。在这种情况下,您可以打开问题通知单,有时可以将其固定在核心中,但通常情况下根本不可能,因为它会与现有的必需规则冲突。
还应注意,CakePHP已经可以开箱即用地处理thesis
/ theses
,它具有与之匹配的单/复数规则。确保传递的是期望值,并且没有其他可能干扰您尝试改变的自定义规则。