数据库
首页 > 数据库> > php – Doctrine DBAL – > execute()和Hydration与DB2字段名称,包括’#’

php – Doctrine DBAL – > execute()和Hydration与DB2字段名称,包括’#’

作者:互联网

我正在尝试使用Doctrine DBAL实现模型/映射器类型的交互,但遇到了一些问题.我的一些列名最后有一个’#’.更改名称不是一种选择. ${‘COL1#’}语法适用于常规变量,但PHP在用作对象属性时似乎很难.

解析错误:语法错误,意外的’$’,期待变量(T_VARIABLE in …

如何在字段名称中为表格添加标签?

解决方法:

你可以create views in MySQL并将你的列重命名为那些视图中更友好的东西(没有#的东西)……?像这样,您不必更改原始表,但仍可以解决这些命名问题.

Doctrine还为您的模型支持the use of views.

Many databases support all CRUD operations on views that semantically map to certain tables. You can create views for all your problematic tables and column names to…

它们指的是不同的场景,但使用视图的相同解决方案可能有所帮助.

据我所知,你只使用Doctrine DBAL,但无论如何here some more information使用带有doctrine ORM的MySQL视图,它可能对你或其他人有帮助.

标签:php,zend-framework2,doctrine-orm,dbal,hydration
来源: https://codeday.me/bug/20190628/1311341.html