我想爲1個實體使用2個倉庫。symfony中的一個實體,兩個倉庫
原因是:我有2個捆綁包,兩個捆綁包使用相同的實體。我希望將這兩個功能分開。 有時我需要特定的查詢進入捆綁。
可以將一個存儲庫放入一個包中,另一個放入另一個存儲庫中? 也許這是一種錯誤的方式?
如果有人有想法。
Thx!
我想爲1個實體使用2個倉庫。symfony中的一個實體,兩個倉庫
原因是:我有2個捆綁包,兩個捆綁包使用相同的實體。我希望將這兩個功能分開。 有時我需要特定的查詢進入捆綁。
可以將一個存儲庫放入一個包中,另一個放入另一個存儲庫中? 也許這是一種錯誤的方式?
如果有人有想法。
Thx!
我想打包兩個分開的存儲庫。將所有方法添加到一個存儲庫是沒有意義的,只是因爲共享實體。採用這種方法,每個存儲庫最終會有30個方法。
在DDD中,通過邏輯分離創建存儲庫(服務)是明智的。租車是一回事,維護是其他的事情等。
另外我也許會離開存儲庫,並轉移到臨時服務。 Model/Car/RepairManager
,Model/Car/RentalManager
或類似的東西。
嗯,我真的不知道這是一個很好的做法,但你可以在不連接實體創建一個存儲庫(我的意思是,不與ORM註解)
所以我只是在我的service.yml創建此:
renting.metadata.car:
class: Doctrine\ORM\Mapping\ClassMetadata
arguments: [ %car% ]
這:
repair.repository.car:
class: carRepository
arguments: [@doctrine.orm.entity_manager, @renting.metadata.car]
這是工作
如果使用相同的實體何不你想使用相同的類庫嗎? – scoolnico
因爲它是兩個不同的功能 例如,如果我做一個汽車租賃網站,我有一個租賃套餐,有時我需要修理一些汽車 我有一個租賃套餐,另一個修理,我想分開租賃的查詢和修復的查詢 – lala
因此,在您的回購中創建兩種方法。 – scoolnico