2012-10-02 16 views
5

मैं कई से अधिक रिश्तों के साथ डेटा ला रहा हूं और मैं कस्टम विधि को परिभाषित करना चाहता हूं। क्या यह संभव है (और कैसे) कुछ उपयोग करने के लिए:सिद्धांत में एक कस्टम विधि परिभाषित करें ORM PersistentCollection

$hotel = $entityManager->getRepository('Hotels')->findOneById(1); 
$types = $hotel->getTypes(); //$types is instance of **Doctrine\ORM\PersistentCollection** 
$types->myCustomFunction(); //do something 
+0

मैं भंडार का उपयोग नहीं करना चाहता, क्योंकि मुझे केवल कई रिश्तों के साथ काम करने की ज़रूरत है। मैं कुछ $ '- hotel-> getTypes() -> fetchPairs() ' – user1518183

+0

क्षमा करना चाहता हूं, मैं प्रश्न को गलत तरीके से पढ़ना चाहता हूं, आप http://stackoverflow.com/questions/3691943/custom-collection-in को चेकआउट करना चाहेंगे -doctrine2 हालांकि – max

+0

धन्यवाद, मैंने कोशिश की, लेकिन यह मेरी समस्या का समाधान नहीं करता है। मुझे ऑब्जेक्ट पर कस्टम विधि कॉल करने की आवश्यकता है जो सिद्धांत \ ORM \ PersistentCollection का उदाहरण है (जब मुझे कई रिश्ते में कई मिलते हैं तो मुझे मिल गया है)। – user1518183

उत्तर

0

ऐसा लगता है कि यह पहले से ही लागू नहीं किया जा रहा है।

इस सिद्धांत के JIRA मुद्दा देखें: http://www.doctrine-project.org/jira/browse/DDC-547

कस्टम PersistentCollection कार्यान्वयन

हम एक प्रति संघ आधार पर कस्टम PersistentCollection कार्यान्वयन के विन्यास की अनुमति देता है पर विचार करना चाहिए की इजाजत दी पर विचार करें। यह उपयोगकर्ताओं को डोमेन मॉडल कोड को बदले बिना प्रदर्शन में सुधार करने के लिए अपने कुछ संग्रहों के लिए अनुकूलित (एसक्यूएल) व्यवहार तैयार करने की अनुमति दे सकता है।

इसके लिए, पर्सिस्टेंट कोलेक्शन को विरासत के लिए डिज़ाइन किया जाना आवश्यक है।

+0

कृपया अपना उत्तर सुधारें .. – 5ervant