Symfony:Doctrine 找不到首字母大写的 table

Symfony: Doctrine cannnot find table with first letter Uppercase

我有这个数据库,其中所有 table 都具有这种格式:

Somedata

列的名称是这样的:

UserInformation

基本上首字母大写,Doctrine找不到table/column

我尝试添加命名策略:

naming_strategy: doctrine.orm.naming_strategy.underscore

但这没有用。

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

lower_case_table_names = 1

那也不行。如果我将 table 和列的所有名称更改为小写,将按预期工作。但是,我不能在生产数据库中这样做,那么如何让 Doctrine 找到具有该格式的 tables?

顺便说一句,table已经创建了,我无法修改它们

这里有2个选择:

  1. 实施自定义命名策略,您可以根据需要生成 table 个名称。查看文档 Doctrine Naming Strategy
  2. 在每个实体中设置所需的 table 名称:@ORM\Table(name="SomeName")

更新:

找到解决方案。我必须像这样在实体中写 table 名称:

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

来源:

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