我有一些(Doctrine 2)实体具有相似的字段,例如foo
,value
和datetime
。我想利用这一点,并使用共享方法定义自定义FooEntityRepository
。
可以轻松创建自定义EntityRepository
,但是如何强制使用此存储库的实体拥有foo
,value
,datetime
字段?也许其中一个实体存储的值不是foo
,而是bar
。我想预料到这一点。
我可以定义一个getFooFieldName
,getValueFieldName
的接口,有问题的实体应该实现,但这是要走的路吗?在这种情况下,如果函数返回有效的字段名称,我是否应该实际让存储库“评估”?
答案 0 :(得分:0)
也许您可以定义自定义EntityRepository,然后通过自定义实体存储库为抽象实体的每个子实体扩展它。然后,所有共享方法都可用于所有实体。