2012-07-16 25 views
8

का उपयोग कर रहा सिद्धांत एक्सटेंशन बंडल से Sluggable व्यवहार का उपयोग करने की कोशिश कर रहा हूँ:Symfony 2 - Sluggable सेट नहीं जब प्रपत्र

http://gediminasm.org/article/sluggable-behavior-extension-for-doctrine-2

मैं एनोटेशन लेकिन मूल्य का उपयोग कर मेरी इकाई में एक sluggable क्षेत्र की स्थापना की है सेट जब मैं एक फार्म का उपयोग एक उदाहरण है, जो निम्न त्रुटि का कारण बनता है बनाने के लिए नहीं मिलता है:

:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'slug' cannot be null

यहाँ मेरी नियंत्रक से कोड है 210

 $form = $this->createFormBuilder($section) 
         ->add('title', 'text') 
         ->getForm(); 

     if ($request->getMethod() == 'POST') { 
     $form->bindRequest($request); 

      if ($form->isValid()) { 

       $em = $this->getDoctrine()->getEntityManager(); 
       $em->persist($section); 
       $em->flush(); 

       if (empty($id)) { 
        return $this->redirect($this->generateUrl('ContentBundle_section_new')); 
       } 
       else { 
        return $this->redirect($this->generateUrl('ContentBundle_section_edit', array('id' => $id))); 
       } 

      } 
     } 

और इकाई वर्ग में sluggable क्षेत्र परिभाषा:

/** 
    * @Gedmo\Slug(fields={"title"}) 
    * @ORM\Column(length=128, unique=true) 
    */ 
    private $slug; 

मैं formbuilder को स्लग क्षेत्र जोड़ सकते हैं और एक मूल्य मैन्युअल रूप से सेट करते हैं, तो यह ठीक काम करता है लेकिन स्पष्ट रूप से मैं नहीं करना चाहती खिलवाड़ किया जाना है इसके साथ चारों ओर।

क्या कोई मदद कर सकता है?

धन्यवाद

+0

कर आप: का उपयोग Gedmo \ Gedmo के रूप में मानचित्रण \ Annotation; इकाई वर्ग में? – drupality

+0

हां। वृक्ष विस्तार का उपयोग करके यह इकाई भी (सफलतापूर्वक) है। – Dan

उत्तर

30

समझ गया।

मैं config.yml फ़ाइल में निम्न पंक्ति जोड़ने के लिए भूल गया था:

sluggable: सच

तो यह की तरह कुछ पढ़ना चाहिए:

stof_doctrine_extensions: 
    default_locale: en 
    translation_fallback: true 
    orm: 
     default: 
      tree: true 
      timestampable: true 
      sluggable: true 
+0

thx, इस उत्तर को लंबे समय से ढूंढ रहा था ... आखिरी प्रोजेक्ट में, मेरे सहयोगी ने ऐसा किया और मैं यह नहीं समझ पाया कि मैं क्या गलत कर रहा था ... – AlexK

+2

सुनिश्चित करें कि आपने इसे "stof_doctrine_extensions" में नहीं रखा है "सिद्धांत" क्योंकि मुझे अपनी गलती देखने में थोड़ी देर लग गई –

+0

मुझे एक ही समस्या थी, और मैं इन कॉन्फ़िगरेशन को जोड़ता हूं, लेकिन मुझे यह त्रुटि मिली: '"stof_doctrine_extensions" के लिए कॉन्फ़िगरेशन लोड करने में कोई एक्सटेंशन नहीं है " । क्या कोई मेरी मदद कर सकता है? – Laiso

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

  • कोई संबंधित समस्या नहीं^_^