Symfony:教义无法找到首字母大写的表格

时间:2018-06-21 16:30:18

标签: symfony doctrine symfony-3.4

我有一个数据库,其中所有表都具有以下格式:

  

Somedata

以及各列的名称如下:

  

UserInformation

基本上,首字母大写,Doctrine无法找到表/列

我尝试添加命名策略:

naming_strategy: doctrine.orm.naming_strategy.underscore

但是那没有用。

我还尝试将MySQL小写表名设置为1

lower_case_table_names = 1

那也不行。如果我将表和列的所有名称都更改为小写,则按预期工作。但是,我无法在生产数据库中执行此操作,那么如何使Doctrine查找具有该格式的表?

顺便说一句,表已经创建,我不能修改它们

2 个答案:

答案 0 :(得分:1)

您在这里有2个选择:

  1. 实施自定义命名策略,您可以根据需要生成表名。检查文档Doctrine Naming Strategy
  2. 在每个实体中设置所需的表名:if( rownumber>=0 ) { //Your code }

答案 1 :(得分:0)

更新:

找到了解决方案。我必须像这样在Entity中写表名:

@ORM\Table(name="`Somename`")

来源:

  

Doctrine - PostgreSQL - Uppercase and Spaces in Table / Field names