我有一个包含一些属性的User
model
-让我们说firstName
and
lastName
-但在我的数据库中,我将它们存储为first_name
and
last_name
。
在User
里面Form
我像这样使用 Hydrator :
$this->setHydrator(new ClassMethods(true));
调试显示:
array(5) {
["firstName"] => string(13) "my first name"
["lastName"] => string(12) "my last name"
...
}
为什么即使我使用
$this->setHydrator(new ClassMethods(true));
,数组键也不匹配数据库列?
最佳答案
我通过在 Hydrator 上设置命名策略解决了将数据库列映射到User
模型的问题,这是我的代码:
$hydrator = new ClassMethods(false);
$namingStrategy = new \Zend\Hydrator\NamingStrategy\UnderscoreNamingStrategy();
$hydrator->setNamingStrategy($namingStrategy);
关于php - 模型中的ZF2属性名称与数据库列不对应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38662929/