【发布时间】:2016-09-20 17:12:15
【问题描述】:
我正在尝试使用 Doctrine DBAL 实现模型/映射器类型的交互,但遇到了一些问题。我的一些列名末尾有一个“#”。更改名称不是一种选择。 ${'COL1#'} 语法适用于常规变量,但 PHP 似乎很难将其用作对象属性。
解析错误:语法错误,意外的'$',期望变量(T_VARIABLE in...
如何为字段名称中带有井号标签的表创建模型?
【问题讨论】:
-
问题 1:您是否配置了 Doctrine 实体?问题 2:您是否尝试使用
Zend\Stdlib\Hydrator\ClassMethods水合器来水合实体? -
@ceadreak 由于这个问题,我开始使用 Doctrine 实体,但这些数据库表已有近 40 年的历史,并且几乎不存在关系。此外,我们还有不使用 PHP(其他语言但相同的表)工作的开发人员,我不能指望他们在更改数据库时记得更改实体。所以我相信实体是不可能的。至于
ClassMethods,我用它来补充水分,但我仍然必须遍历每一行。 -
您不能在 MySQL 中创建视图并将列重命名为更友好的名称(没有
#)...? Doctrine 支持为您的模型使用视图。
标签: php doctrine-orm zend-framework2 dbal hydration