Inflector не соблюдая таможенные правила - PullRequest
0 голосов
/ 30 апреля 2019

Использование 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];

Результатом выделения слова «тезис» является «тезис».

Кто-нибудь может указать, что здесь не так?

1 Ответ

1 голос
/ 30 апреля 2019

Первая форма правильная, ключ - это единственное значение, а значение - значение во множественном числе.

При этом показанное здесь неправильное / проблемное использование Inflector::singularize(), поскольку вы передаете ему значение, которое уже является единичным, это часто приводит к неожиданным / неправильным результатам.В таких случаях вы можете открыть запрос на выдачу, иногда это можно исправить в ядре, но часто это просто невозможно, поскольку это может вступить в конфликт с существующими необходимыми правилами.

Следует также отметить, что CakePHP можетобрабатывать thesis / theses из коробки уже есть правила единственного / множественного числа, которые соответствуют этому.Убедитесь, что вы передаете ожидаемые значения и что у вас нет дополнительных пользовательских правил, которые могут повлиять на то, что вы пытаетесь изменить.

...