diff --git a/src/View/Helper/FormHelper.php b/src/View/Helper/FormHelper.php index 05da10785e2..336740220a7 100644 --- a/src/View/Helper/FormHelper.php +++ b/src/View/Helper/FormHelper.php @@ -1170,14 +1170,17 @@ protected function _optionsOptions($fieldName, $options) return $options; } + $pluralize = true; if (substr($fieldName, -5) === '._ids') { $fieldName = substr($fieldName, 0, -5); + $pluralize = false; } elseif (substr($fieldName, -3) === '_id') { $fieldName = substr($fieldName, 0, -3); } $fieldName = array_slice(explode('.', $fieldName), -1)[0]; + $varName = Inflector::variable( - Inflector::pluralize($fieldName) + $pluralize ? Inflector::pluralize($fieldName) : $fieldName ); $varOptions = $this->_View->get($varName); if (!is_array($varOptions) && !($varOptions instanceof Traversable)) {