我实际上已经使用Symfony2完成了一个项目,但我的老板希望我更改数据库中表的名称。他想在我的表名中加下下划线,这意味着在类名中加下划线。
我试图这样做,但它不起作用。当我这样做时,我收到一条错误消息: “实体”实体“无法在”另一个实体“”中找到。
我也尝试重命名没有下划线的类名,看看我是在做错,但是没有,这是有效的。
我在网上搜索并查看可能解释该问题的原因,现在是:
所以有人可以告诉我如何使用symfony将下划线放在我的表名中?
答案 0 :(得分:1)
根据the doc,您可以将表名与班级名称分开。
这样做:
<?php
/**
* @Entity
* @Table(name="my_table_name")
*/
class MyPersistentClass
{
//...
}
这就是全部:)
我必须补充一点,如果使用app/console doctrine:schema:update --force
命令重新生成数据模型,则不会破坏现有的表和数据。然后,您必须手动将数据从旧表迁移到新表。
答案 1 :(得分:1)
可能有更好的解决方案:使用下划线命名策略。