0
我有一些(Doctrine 2)具有相似字段的实体,例如foo
,value
和datetime
。我想利用这一点,并使用共享方法定义自定义FooEntityRepository
。如何抽象Doctrine 2实体字段?
自定义EntityRepository
很容易创建,但是如何强制使用此存储库的实体具有foo
,value
,datetime
字段?也许其中一个实体存储的值不是foo
,而是bar
。我想预测这一点。
我可以定义一个与getFooFieldName
,getValueFieldName
的接口,表示有问题的实体应该实现,但这是要走的路吗?在这种情况下,我应该尽量让存储库“评估”函数是否返回有效的字段名称吗?
谢谢你的回应。那么,这种情况下的问题是EntityRepository不再是一般的了。像存储库中的getFooFieldName这样的方法仍然需要运行时验证。另外,我创建了实体和存储库之间的高度耦合,我认为这不是有利的。 – user228395