symfony - Symfony2 Form: Tags Collection does not get persisted -


मेरे पास अपलोड इकाई है, जिसमें कई टैग हो सकते हैं,

  / ** * @ORM \ ManyToMany (targetEntity = "टैग", मैप किए गए = "अपलोड") * / संरक्षित $ टैग;   

और टैग कई अपलोड में हो सकता है

  / ** * @ORM \ ManyToMany (targetEntity = "Upload" , उलटा = "टैग") * @ORM \ JoinTable (name = "upload_tag") * / संरक्षित $ अपलोड;   

मेरे पास एक फॉर्म है, जहां मैं एक फ़ाइल अपलोड कर सकता हूं, और बहु-चयन वाले टैग का चयन कर सकते हैं .... यहां UploadType फ़ाइल से एक स्निपेट है < / P>

  ...... अन्य फ़ॉर्म तत्व ..... $ निर्माता- & gt; जोड़ ('टैग', 'इकाई', सरणी ('एकाधिक' = & gt; सत्य, 'संपत्ति '= & Gt;' नाम ',' वर्ग '= & gt;' BoiMembersBundle: टैग ',));   

फोरम बिना किसी त्रुटि के ठीक है, प्रस्तुत करता है ..... लेकिन जब मैं अपने अपलोड_टैग पर विचार करता हूं, जो मेरे माइस्काएल डीबी में कई संबंधों का प्रतिनिधित्व करता है, तो मुझे कोई नई लाइन नहीं मिलती !!! < / P>

तो एप्लिकेशन किसी भी त्रुटि की रिपोर्ट नहीं करता है, जो कि कभी भी हो। अपलोड के अन्य फॉर्म तत्व ठीक, और "सफलता" के लिए आगे बढ़ते हैं, लेकिन मुझे टैग के लिए दृढ़ता नहीं दिखाई देती। अपलोड करें > यह टैग <के साथ संबंध के मालिक नहीं है

/ कोड> और आप अपने संबंध में नए संस्थाओं ( टैग प्रकार के) के साथ अपलोड जारी रहें हैं वास्तव में, इसमें मैप किया गया है विशेषता।

आप कास्टेड option :

  / ** को कॉन्फ़िगर कर सकते हैं * @ORM \ ManyToMany (targetEntity = "टैग", मैप किए गए = "अपलोड", cascade = {"persist"}) * / संरक्षित $ टैग;   

या संबंध के मालिक को अपलोड करें करें (यदि आपको लगता है कि आप कभी भी टैग इकाई को एक नया अपलोड करें ):

  क्लास अपलोड करें {/ ** * बिडीयरेक्शनल - ऑफ़िंग साइड * @ORM \ ManyToMany (targetEntity = "Tag", inversedBy = "uploads") * @ ORM \ JoinTable (नाम = "अपलोड_टैग") * / संरक्षित $ टैग; } क्लास टैग {/ ** * बिडियरेक्शनल - इनवर्स साइड * @ORM \ ManyToMany (लक्ष्य एंटिटी = "अपलोड", मैप किए गए = "अपलोड") * / संरक्षित $ अपलोड; }   

सिद्धांत 2.x दस्तावेज़ीकरण पर देखें।

Comments