मैं एक इकाई की एक संबंधित भंडार GameRepository
कहा जाता है के साथ Game
कहा जाता है:एक संस्था से एक रिसोजिटरी कैसे प्राप्त करें?
/**
* @ORM\Entity(repositoryClass="...\GameRepository")
* @ORM\HasLifecycleCallbacks()
*/
class Game {
/**
* @ORM\prePersist
*/
public function setSlugValue() {
$this->slug = $repo->createUniqueSlugForGame();
}
}
prePersist विधि में, मैं यह सुनिश्चित करें कि खेल के स्लग क्षेत्र अद्वितीय है, जो एक डेटाबेस क्वेरी की आवश्यकता की जरूरत है। क्वेरी करने के लिए, मुझे EntityManager
तक पहुंच की आवश्यकता है। मैं GameRepository के अंदर से EntityManager प्राप्त कर सकते हैं। तो: मैं गेम से गेम रेस्पोजिटरी कैसे प्राप्त करूं?
उन्होंने ऐसा क्यों करना चुना? ऐसा लगता है कि सबकुछ काफी कठिन और कम DRY बना देता है। –
@ जेसनस्वाट हाँ स्लग केस उस तरह थोड़ा परेशान है। ज्यादातर अन्य मामलों में, अलगाव के लिए कम बुरे पक्ष होते हैं, जैसे कि जब चीजों का परीक्षण करना आसान होता है तो कॉन्फ़िगर करने के लिए कोई मुश्किल निर्भरता नहीं होती है। –
भंडार में एक विधि "नए उदाहरण बनाने के लिए" ... वास्तव में? रिपोजिटरी केवल डेटा लाने के लिए नहीं है? – Jean