如果使用业务逻辑扩展yml创建的实体,如何更新?

时间:2011-06-07 09:25:59

标签: doctrine-orm entity

执行doctrine:generate:带有一组包含关系映射的yml文件的实体时,将自动生成所有实体类。

调整yml文件并重新生成实体类时,它们会被覆盖(并且会备份旧的文件)。

在doctrine1中,实体生成器创建了基类,这些基类由实际的实体类自动继承,您可以使用自己的业务逻辑进行扩展。

在doctrine2中我没有看到那些基类,我也不想调整生成的类,因为我无法在yml文件中更新我的数据模型。

Doctrine2的做法是什么? 我应该手动从我生成的实体类继承来添加业务逻辑吗? 教条可以调整实体类,并保留其他更改(使用某种差异算法)吗? 实体生成只用一次来生成类,是否应该在类本身中手动实现所有数据模型更改?

1 个答案:

答案 0 :(得分:1)

在Doctrine2中,您可以根据需要对实体进行编程(使用相应的字段,getter和setter,自定义业务逻辑等),然后创建yaml(或xml,注释等)映射。 Doctrine2然后生成的是与您的映射对应的数据库表,因此您的实体始终保留。

我建议你看一下Doctrine2 Quick Start Guide,它会很好地了解Doctrine2 ORM方法。