将下划线放在Symfony2实体的类名中

时间:2013-07-16 09:17:08

标签: symfony doctrine-orm entity symfony-2.3

我实际上已经使用Symfony2完成了一个项目,但我的老板希望我更改数据库中表的名称。他想在我的表名中加下下划线,这意味着在类名中加下划线。

我试图这样做,但它不起作用。当我这样做时,我收到一条错误消息: “实体”实体“无法在”另一个实体“”中找到。

我也尝试重命名没有下划线的类名,看看我是在做错,但是没有,这是有效的。

我在网上搜索并查看可能解释该问题的原因,现在是:

https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md#underscores-in-namespaces-and-class-names

所以有人可以告诉我如何使用symfony将下划线放在我的表名中?

2 个答案:

答案 0 :(得分:1)

根据the doc,您可以将表名与班级名称分开。

这样做:

<?php
/**
 * @Entity
 * @Table(name="my_table_name")
 */
class MyPersistentClass
{
    //...
}

这就是全部:)

我必须补充一点,如果使用app/console doctrine:schema:update --force命令重新生成数据模型,则不会破坏现有的表和数据。然后,您必须手动将数据从旧表迁移到新表。

答案 1 :(得分:1)

可能有更好的解决方案:使用下划线命名策略。

https://stackoverflow.com/a/12702949/244058