Varias veces necesitamos crear modelos en CakePHP y tenemos el problema de que no todas las palabras en plural terminan en “s”, también terminan en “es”.

Para solucionar esto, tenemos que aplicar nuestras propias reglas de inflexión en CakePHP en el archivo app/config/bootstrap.php

Inflector::rules('singular', array(
'rules' => array('/(.*)res$/i' => '\1r', '/(.*)nes$/i' => '\1n', '/(.*)des$/i' => '\1d', '/(.*)ses$/i' => '\1s'),
'irregular' => array(),
'uninflected' => array()
)
);

Inflector::rules('plural', array(
'rules' => array('/(.*)r$/i' => '\1res', '/(.*)n$/i' => '\1nes', '/(.*)d$/i' => '\1des', '/(.*)s$/i' => '\1ses'),
'irregular' => array(),
'uninflected' => array()
)
);

Si analizamos el código, podemos ver que las reglas de singular y plural tienen las terminaciones: res, nes, des y ses. Si más adelante salen otras terminaciones, solo hay que agregar más elementos al arreglo “rules” para singular y plural.

Anuncios