2011-09-23 11 views
7
में एक विकल्प प्रपत्र फ़ील्ड का उपयोग क्या मूल्य पारित हो जाता है निर्दिष्ट करने के लिए

मैं निम्नलिखित कोड है जो सभी उपलब्ध मुख्य पृष्ठों है कि जब अपने प्रोजेक्ट में उप पृष्ठों को जोड़ने के लिए किया जा सकता प्रदर्शित करता है:कैसे Symfony2

 $builder->add('subtocontentid', 
      'entity', 
      array(
       'class'=>'Shout\AdminBundle\Entity\Content', 
       'property'=>'title', 
       'query_builder' => function (EntityRepository $repository) 
       { 
        return $repository->createQueryBuilder('s') 
          ->where('s.mainpage = ?1') 
          ->setParameter(1, '1') 
          ->add('orderBy', 's.created ASC'); 
       } 
     )); 

में फॉर्म, यह ठीक काम करता है। यह मुख्य पृष्ठ का उचित शीर्षक प्रदर्शित करता है। हालांकि, जब फॉर्म डेटाबेस में पास किया जाता है, तो पृष्ठ आईडी डेटाबेस में पास की जाती है। ऐसा नहीं है कि मैं इसे कैसे काम करना चाहता हूं, मुझे इसके बजाय डेटाबेस में एक स्लग पर जाने की आवश्यकता है।

मैं समझता हूं कि मैं जिस कोड का उपयोग कर रहा हूं वह डेटाबेस में सभी फ़ील्ड पुनर्प्राप्त करता है। मैं केवल शीर्षक फ़ील्ड और स्लॉग फ़ील्ड का चयन कैसे कर सकता हूं, और फिर फॉर्म में स्लॉग फ़ील्ड को डेटाबेस में पास कर सकता हूं?

चीयर्स

उत्तर

2

आप होगा EntityType द्वारा इस्तेमाल किया ट्रांसफार्मर बदलने के लिए, और यह आईडी डेटाबेस के लिए पारित किया जा रहा यह इकाई है ट्रांसफार्मर आईडी लेता है और अपनी सूची में इकाई को देखता है के रूप में नहीं है। तो आपके मामले में यह Shout\AdminBundle\Entity\Content

का उदाहरण होगा