PHP原则1.2表名
我试图将我的ORM理论从1.1.6升级到1.2.1,但是我遇到了一个关于表名的BC问题 我的一些表名有几个单词(例如,FooBar类的t_foo_bar),其中t_前缀是通过以下方式自动生成的:PHP原则1.2表名,php,orm,doctrine,Php,Orm,Doctrine,我试图将我的ORM理论从1.1.6升级到1.2.1,但是我遇到了一个关于表名的BC问题 我的一些表名有几个单词(例如,FooBar类的t_foo_bar),其中t_前缀是通过以下方式自动生成的: $manager->setAttribute(Doctrine_Core::ATTR_TBLNAME_FORMAT, 't_%s'); 这在以前的版本中运行良好。然而,在1.2.1中,条令似乎在寻找t_foobar(而不是带有下划线的t_foo_bar) 您知道如何在不更改表名的情况下解决此问题
$manager->setAttribute(Doctrine_Core::ATTR_TBLNAME_FORMAT, 't_%s');
这在以前的版本中运行良好。然而,在1.2.1中,条令似乎在寻找t_foobar(而不是带有下划线的t_foo_bar)
您知道如何在不更改表名的情况下解决此问题吗?在模型的
setTableDefinition()
方法中,您可以调用$this->setTableName('t\u foo\u bar')
来显式设置表名。这更好,因为如果某个类被重命名,应用程序将继续工作。在模型的setTableDefinition()
方法中,您可以调用$This->setTableName('t\u foo\u bar')
来显式设置表名。这要好得多,因为如果某个类被重命名,该应用程序将继续工作。哦,我是通过谷歌得到的。我刚刚启动了symfony,希望将symfony+doctrine应用程序添加到现有的web应用程序中
我在条令文件中找到了这些东西(注意第二行):
看起来你也可以在yml文件中定义表名。哦,我是通过谷歌找到的。我刚刚启动了symfony,希望将symfony+doctrine应用程序添加到现有的web应用程序中 我在条令文件中找到了这些东西(注意第二行):
似乎您也可以在yml文件中定义表名。是的,这不需要设置ATTR\u TBLNAME\u FORMAT属性,这意味着应该为每个表设置名称。我确实更喜欢单线法,尽管那样可以。谢谢你的及时回复!是的,这不需要设置ATTR_TBLNAME_FORMAT属性,这意味着应该为每个表设置名称。我确实更喜欢单线法,尽管那样可以。谢谢你的及时回复!您好,我使用的是1.2.4版本,但i h=出现错误。我需要配置。您好,我使用的是1.2.4版本,但i h=出现错误。我需要配置。
Group:
**tableName: group_table**
columns:
id:
type: integer(4)
autoincrement: true
primary: true
name:
type: string(255)
relations:
Users:
foreignAlias: Groups
class: User
refClass: GroupUser