उत्पन्न करने का प्रयास करते समय मेरे पास एक बहुत ही सरल डेटाबेस है जिसे मैं आयात करने की कोशिश कर रहा हूं, और संस्थाएं बना रहा हूं। सिद्धांत (सिम्फनी) डेटाबेस से वाईएमएल मैपिंग फाइलें उत्पन्न करने में सक्षम है। लेकिन जब मैं subsiquently संस्थाओं उत्पन्न करने के लिए प्रयास करते हैं, मैं निम्नलिखित त्रुटि मिलती है:Symfony2/Doctrine2 अमान्य मैपिंग फ़ाइल अपवाद
[Doctrine\Common\Persistence\Mapping\MappingException]
Invalid mapping file 'SandboxBundle.Entity.Product.orm.yml' for class
'SandboxBundle\Entity\Product'.
YML फ़ाइल, मेरे लिए ठीक लग रहा है के रूप में हम किया जा रहा है कि यह सिद्धांत द्वारा उत्पन्न की गई उम्मीद करेंगे। बस सुनिश्चित करने के लिए, मैंने इसे एक ऑनलाइन वाईएमएल सत्यापनकर्ता के खिलाफ चेक किया जिसने कहा कि यह ठीक था। आदेश मैं संस्थाओं उत्पन्न करने के लिए प्रयास करने के लिए इस्तेमाल किया गया था:
app/console generate:doctrine:entities sandbox
.yml फ़ाइलों का पालन करें। कृपया किसी भी वाईएमएल स्पेसिंग त्रुटियों से क्षमा करें जो फ़ाइल को चिपकाने के परिणामस्वरूप हैं। जैसा कि मैंने कहा, yml फ़ाइलों को सिद्धांत द्वारा उत्पन्न किया गया था, और एक ऑनलाइन सत्यापन पास किया था।
Product:
type: entity
table: product
indexes:
category_id:
columns:
- category_id
id:
id:
type: integer
nullable: false
unsigned: false
comment: ''
id: true
generator:
strategy: IDENTITY
fields:
productname:
type: string
nullable: true
length: 10
fixed: false
comment: ''
categoryId:
type: integer
nullable: true
unsigned: false
comment: ''
column: category_id
lifecycleCallbacks: { }
और पूर्णता के लिए, यहां श्रेणी yml फ़ाइल है। त्रुटि उत्पाद पर थी, लेकिन मुझे लगता है कि ऐसा इसलिए है क्योंकि उत्पाद को पहले संसाधित किया गया था।
Category:
type: entity
table: category
id:
id:
type: integer
nullable: false
unsigned: false
comment: ''
id: true
generator:
strategy: IDENTITY
fields:
categoryname:
type: string
nullable: true
length: 50
fixed: false
comment: ''
lifecycleCallbacks: { }
मैं मानचित्रण अपवाद के निदान से संबंधित किसी भी संसाधनों के लिए वेब खोज की है, लेकिन किसी भी नहीं मिला है। मुझे लगता है कि वाईएमएल फाइलों में कुछ ऐसा है जो इकाई जनरेटर को चकित कर रहा है। लेकिन त्रुटि संदेश यह संकेत नहीं देता कि यह क्या हो सकता है। मुझे लगता है कि स्टैक ओवरफ्लो पर इस तरह के प्रश्न के कई उदाहरण हैं। इन प्रकार की त्रुटियों का निदान करने के बारे में जानकारी प्राप्त करना बहुत अच्छा होगा, और इस प्रकार इसे अपने लिए समझने में सक्षम होना चाहिए।
डॉन, यह एक समाधान नहीं है, लेकिन यदि आप करते 'वर्बोज़' विकल्प के साथ अपनी 'जेनरेट एंटिटीज "कमांड चलाने का विकल्प है। यह आपको एक PHP स्टैक डंप प्रदान करेगा, और फिर आप कम से कम क्या देख रहे हैं, कम से कम देखने के लिए, सिद्धांत कोड में खुदाई शुरू कर सकते हैं। मैं, हालांकि, सुझाव देते हैं कि यदि आप विक्रेता कोड में चारों ओर घूमना शुरू कर रहे हैं, तो डायग्नोस्टिक 'print_' कथन जोड़ना, और जैसा कि आप इसे सिम्फनी के एक परीक्षण उदाहरण में करते हैं जिसे आप विशेष रूप से इस उद्देश्य के लिए बनाते हैं। यही वह है जो मैंने किया –