如何抽象Doctrine 2实体字段?

时间:2015-11-01 11:00:15

标签: orm doctrine-orm interface

我有一些(Doctrine 2)实体具有相似的字段,例如foovaluedatetime。我想利用这一点,并使用共享方法定义自定义FooEntityRepository

可以轻松创建自定义EntityRepository,但是如何强制使用此存储库的实体拥有foovaluedatetime字段?也许其中一个实体存储的值不是foo,而是bar。我想预料到这一点。

我可以定义一个getFooFieldNamegetValueFieldName的接口,有问题的实体应该实现,但这是要走的路吗?在这种情况下,如果函数返回有效的字段名称,我是否应该实际让存储库“评估”?

1 个答案:

答案 0 :(得分:0)

也许您可以定义自定义EntityRepository,然后通过自定义实体存储库为抽象实体的每个子实体扩展它。然后,所有共享方法都可用于所有实体。