如何告诉Doctrine2实体管理器默认使用继承类而不是生成的类?在sf2/doctrine2中使用生成的实体作为“基类”
在我的新的sf2应用程序中,我从现有数据库生成所有实体到/src/Package/Bundle/DataBundle/Entity
- 当然我也想生成表单,所以我需要我的外键关系__toString()
方法,因为它们被覆盖(是的,它们也会在一个额外的文件中备份,所以我的更改不会丢失,但手动合并文件并不是我想要的)。
所以我增加了新的类/src/Package/Bundle/DataBundle/Model
所有从实体继承,但与__toString()
方法,当然也有一些其他调整。但现在,当我打电话$entity = $em->getRepository('PackageDataBundle:Customer')->find($id);
- 我得到的/src/Package/Bundle/DataBundle/Entity/Customer
代替/src/Package/Bundle/DataBundle/Model/Customer
实例..
我想有从SF1,所有的定制工作在继承的类完成,所产生的那些都是行为“基地”类,它可以更新架构更新任何时间,没有另外感动..
我希望有一些配置对于这个..
也许作为奖金,我想使我的命名习惯转向:将Model
作为“抽象”生成一个,Entity
作为实际使用的一个
谢谢。
我知道,从过去的推进,却得到了非常习惯学说及其DQL SF1为MySQL内。我也知道使用MongoDB的早期sf2项目的教义,我不需要将我的映射从现有数据库转换回来。所以我会在下一个项目中看看propel,当有更多时间进入新的框架:) – con 2012-08-06 13:49:07