6

एक सिम्फनी 2 एप्लिकेशन में मेरे पास मेनबंडल और विशिष्ट बंडल सक्षम किए जा सकते हैं या नहीं। मेनबंडल में मुझे मॉडल और मूल इकाई होना चाहिए। एक OtherBundle में एक इकाई एक ही तालिका नाम के साथ से इकाईमें MainBundleसिद्धांत 2/सिम्फनी 2 - एक ही टेबल पर एकाधिक इकाइयां

MainBundle 
- Model 
- Entity (Table name "test") 
- Fixtures 

OtherBundle 
- Entity (Table name "test") 
- Fixtures 

OtherBundle2 
- Entity (Table name="test") 
- Fixtures 

तो मैं मॉडल, एक @ORM \ इकाई के लिए @ORM \ MappedSuperclass प्रयोग किया है: MainBundle में

फिक्स्चर के साथ या MainBundle के अलावा अन्य बंडलों बिना लोड होने की जरूरत है वाई इकाईMainBundle और OtherBundle में @ORM \ इकाई में तो Doctrine2 रोक के लिए वें त्रुटि "तालिका पहले से मौजूद है"।

मैं विरासत तालिका का उपयोग नहीं कर सकता क्योंकि मेरे मॉडल को अन्य बंडलों में अन्य इकाइयों के बारे में जानने की आवश्यकता नहीं है। @ORM \ DiscriminatorMapअन्य बिंदु बंडल पर इंगित नहीं कर सकता।

क्या ऐसा करने का कोई तरीका है?

+0

http://symfony.com/doc/current/cookbook/doctrine/resolve_target_entity.html:

http://symfony.com/doc/current/cookbook/doctrine/resolve_target_entity.html

कहा जा रहा है कि, एक से अधिक इकाई प्रबंधकों के साथ एक समाधान लगता है – Cerad

+2

यह लिंक दिखाता है कि विभिन्न बंडल में इकाइयों के बीच गतिशील संबंध कैसे बनाएं। मुझे इकाइयों को विभिन्न बंडल से जोड़ने की ज़रूरत नहीं है। मैं अलग-अलग बंडलों में एक ही इकाई का नाम और टेबल रखना चाहता हूं। – Thibaut

+0

हैलो, आपकी समस्या का स्पष्ट समाधान एक अलग इकाई (विभिन्न तालिका नाम के साथ) बनाना है। आप एक ही मॉडल से फैल सकते हैं। यह स्पष्ट है क्योंकि आप कहते हैं कि आप विरासत नहीं कर सकते हैं, इसलिए डीबी की अवधि में, आप भी नहीं कर सकते हैं। (क्योंकि आप ओआरएम का उपयोग कर रहे हैं) आपके तर्क के बिना, मैं आपको अधिक सटीक सहायता नहीं दे सकता। – Nek

उत्तर

1

जैसा कि जैस्पर एन ब्रौवर द्वारा उल्लिखित है, यह वही इकाई और एक ही सारणी है, इसलिए आप जो करने की कोशिश कर रहे हैं, उसमें कोई मतलब नहीं है।

उदाहरण के लिए नामित एक बंडल में अपनी इकाई बनाएं "साझा एंटीटीबंडल" और resol_target_entity का उपयोग इस इकाई से दूसरे बंडलों से संबंधित बिना किसी अन्य के बारे में जानने के लिए करें। Symfony 2/Doctrine 2: Two Entities for the same table, use one in favour of the other

+0

क्या आप कृपया बता सकते हैं कि संकल्पित इकाइयों को वस्तुओं के रूप में कैसे उपयोग करें (यानी नियंत्रक में, जैसे कि मेरे पास बंडल में केवल एक नियमित इकाई थी)? – wiktus239

संबंधित मुद्दे