php - 模型中的ZF2属性名称与数据库列不对应

标签 php forms doctrine-orm zend-framework2 hydration

我有一个包含一些属性的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/

相关文章:

php - 如何在 'php' 中自连接两个表后打印表中获得的值?

php - 验证从客户端发送的 Google Plus Oauth 2 访问 token 以验证服务器上的用户是否安全?

php - Laravel 数据库备份失败

javascript - 如何使用 Python 请求库提交 javascript 表单?

c# - ASP.NET mvc 检测客户端更改

php - 使用Doctrine作为水合器的Zend Framework 2形式问题

php - 如何访问 symfony 存储库中的创建查询方法

php - 如何按字面意思发布此图标 : &

php - 我如何在 Doctrine 2 中使用固定装置?

Javascript 转换为 HTML 形式