2011-12-19 15 views
5

मेरे सिम्फनी 2 एप्लिकेशन में, मेरे पास दो डेटाबेस कनेक्शन हैं, मैं इकाई वर्गों को अलग रखना चाहता हूं और इसलिए एक बंडल में इकाई वर्गों का एक सेट और दूसरे बंडल में एक और सेट है । लेकिन जब मेरी बंडल कॉल करने के लिए कोशिश कर रहा है, इसकी एक इकाई नाम स्थान के रूप में पंजीकृत नहीं किसी कारण से, त्रुटि इस प्रकार है:सिम्फनी 2: एंटीटी नेमस्पेस

Unknown Entity namespace alias 'AcmeStaffBundle'. 
500 Internal Server Error - ORMException 

मैं जहां यह इकाई नामस्थान सेट के लिए देखा है, और मैं इसे करने के लिए मिल गया है कैश की गई फाइलों में रहें

$e = new \Doctrine\ORM\Configuration(); 
$e->setEntityNamespaces(array('AcmeStoreBundle' => 'Acme\\StoreBundle\\Entity')); 

मैं इसे सरणी में कैसे जोड़ सकता हूं?

नया संपादित:

मेरे config.yml के रूप में इस प्रकार है जो मदद करनी चाहिए मुद्दा स्पष्ट है:

orm: 
    entity_managers: 
     default: 
      connection:  default 
      mappings: 
       AcmeStoreBundle: ~ 
     Foo: 
      connection:  Foo 
      mappings: 
       AcmeFooBundle: ~ 

अग्रिम धन्यवाद

+0

आपने अपनी समस्या हल की है? –

उत्तर

0

नहीं पूरी तरह से सुनिश्चित करें कि आप रख कर क्या मतलब है आपके इकाइयां "अलग" लेकिन यदि आप एक ही डेटाबेस में एक इकाई को दो अलग-अलग तालिकाओं में मैप करने का प्रयास कर रहे हैं, तो मुझे नहीं लगता कि यह एक सिद्धांत सीमा के रूप में सूचीबद्ध होने के रूप में संभव है: here

+3

नहीं, मेरा मतलब यह नहीं था कि मेरा मतलब था, मेरा मतलब यह था कि मैं अपनी कॉन्फ़िगरेशन फाइलों को अलग-अलग डेटाबेस में निर्भर करता हूं, जो मैं कनेक्ट कर रहा हूं, मेरे config.yml में मैं 'orm: entity_managers: डिफ़ॉल्ट: कनेक्शन: डिफ़ॉल्ट मैपिंग: AcmeStoreBundle: ~ फू: कनेक्शन: फू मैपिंग: AcmeAnotherBundle: ~ ' – Matt

1

जेनरेट किए गए सीआरयूडी फॉर्मों का उपयोग करने के दौरान मुझे यह सही समस्या थी। क्या अंत में हल समस्या इस तरह getEntityManager() को पैरामीटर के रूप वरीय इकाई प्रबंधक का नाम जोड़ने था:

$em = $this->getDoctrine()->getEntityManager('Foo'); 
0

कई इकाई प्रबंधकों का उपयोग पर:

http://symfony.com/doc/master/cookbook/doctrine/multiple_entity_managers.html

http://symfony.com/doc/master/reference/configuration/doctrine.html#mapping-configuration

लें prefix पैरामीटर पर एक नज़र:

... 

orm: 
    auto_generate_proxy_classes: %kernel.debug% 
    default_entity_manager: default 
    entity_managers: 
     default: 
      connection: default 
      mappings: 
       OneBundle: 
        prefix: One\Bundle\Entity\Namespace 
     other: 
      connection: other # check this :p 
      mappings: 
       OtherBundle: 
        prefix: Other\Bundle\Entity\Namespace