Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将带下划线的表列映射到ZF2中的camelcased模型类属性?_Php_Model_Zend Framework2_Mapping_Zend Db Table - Fatal编程技术网

Php 如何将带下划线的表列映射到ZF2中的camelcased模型类属性?

Php 如何将带下划线的表列映射到ZF2中的camelcased模型类属性?,php,model,zend-framework2,mapping,zend-db-table,Php,Model,Zend Framework2,Mapping,Zend Db Table,我正在基于开发一个受驱动的web应用程序。对于模型层,我使用了 目前,my DB表中的列的命名与对应的模型属性完全相同。对于这两种方法,我都使用camelcased表示法(这是第一个临时解决方案)。现在我想更正列的命名,并使它们不得分 如何在不使用ORM(如)的情况下执行此操作?我想,我需要过滤器(,或只是)。好的,但是在这里应该在哪里以及如何使用它们呢?您应该使用新的更新所有数据库列名,在\u score命名约定下,数据库适配器将自动查询数据库以获取此信息 然后,为了将新的列名映射到对象属性p

我正在基于开发一个受驱动的web应用程序。对于模型层,我使用了

目前,my DB表中的列的命名与对应的模型属性完全相同。对于这两种方法,我都使用camelcased表示法(这是第一个临时解决方案)。现在我想更正列的命名,并使它们不得分


如何在不使用ORM(如)的情况下执行此操作?我想,我需要过滤器(,或只是)。好的,但是在这里应该在哪里以及如何使用它们呢?

您应该使用新的
更新所有数据库列名,在\u score
命名约定下,数据库适配器将自动查询数据库以获取此信息

然后,为了将新的
列名
映射到对象属性
propertyName
,映射器需要一个对象映射器

这个


因此,命名应该可以正常工作,您只需将
true
传递给hydrator的构造函数(
下划线separatedkeys
),这在创建映射器时非常容易完成。

我刚刚重新命名了列(使它们的名称再次下划线)。它是有效的。我可以发誓,这在以前是行不通的——这就是我第一次将列名命名为camelcased的原因。魔法…:)不管怎样,它是有效的。谢谢你的解释!