使用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];
在“论文”中单词化“论文”一词的结果。
任何人都可以指出这里有什么问题吗?
第一种形式是正确的形式,键是奇异值,值是复数值。
话虽这么说,你在这里展示的是Inflector::singularize()
的不正确/有问题的用法,因为你传递一个已经是单数的值,这样做通常会给你意想不到/错误的结果。在这种情况下你可以打开一张发行票,有时这可以在核心中修复,但通常不可能,因为它会与现有的必需规则冲突。
还应该注意的是,CakePHP已经开箱即可处理thesis
/ theses
,它具有与之匹配的单数/复数规则。确保您传递的是预期值,并且您没有可能干扰您尝试使用的其他自定义规则。