我有一個實體,稱爲Game
一個名爲GameRepository
相關庫:如何從實體獲取儲存庫?
/**
* @ORM\Entity(repositoryClass="...\GameRepository")
* @ORM\HasLifecycleCallbacks()
*/
class Game {
/**
* @ORM\prePersist
*/
public function setSlugValue() {
$this->slug = $repo->createUniqueSlugForGame();
}
}
在prePersist的方法,我需要確保遊戲的蛞蝓領域是獨一無二的,這需要一個數據庫查詢。要進行查詢,我需要訪問EntityManager
。我可以從GameRepository中獲取EntityManager。所以:如何從遊戲中獲取GameRespository?
他們爲什麼選擇這樣做?它似乎使一切都變得更加困難和乾燥。 –
@JasonSwett是的,塞子的情況有點煩人。在大多數其他情況下,分離的方式會少一些,比如當測試一些事情時,如果沒有棘手的依賴關係進行配置,它會變得更容易。 –
存儲庫中「創建新實例」的方法...真的嗎?存儲庫不是隻需要獲取數據? – Jean