2012-10-25 12 views
16

मैं symfony2 का उपयोग कर रहा हूं और एक उपयोगकर्ता के कुछ नियमों के संबंध को सहेजने के लिए एक फॉर्म है। ये नियम कंपनी के व्यवस्थापक उपयोगकर्ता द्वारा निर्धारित किए जाते हैं। इस फ़ॉर्म में, जब मैंने किसी उपयोगकर्ता को अद्यतन करने के लिए चुना, तो मुझे इस नियम के लिए अनुमति देने वाले नियम का चयन करना होगा।सिम्फनी 2 2 गुणों के साथ एक इकाई फॉर्म फ़ील्ड बनाएं

समस्या यह है कि मेरे पास एक ही नाम के साथ एक नियम हो सकता है (यह एक और इकाई है) लेकिन मान अलग हैं। - 10

  • मदों की मात्रा - मद के 20
  • मूल्य - 200
  • का मूल्य

    1. मदों की मात्रा: तो, जब मैं selectbox निर्माण मैं नाम और जैसे मूल्य दिखाना चाहिए आइटम - 500

    लेकिन अब मैं सिर्फ बिना दिखा सकते हैं "- $ मूल्य" bellow कोड का उपयोग:

    $form = $this->createFormBuilder()->add('myinput', 'entity', array(
            'class' => 'myBundle:Rule', 
            'property' => 'childEntity.name', 
            'label' => 'Filas Permitidas', 
            'expanded' => false, 
            'multiple' => true, 
            'choices' => $this->getDoctrine() 
              ->getRepository('MyBundle:Rule') 
              ->findAll(), 
            'required' => true, 
           ))->getForm(); 
    

    तो, संपत्ति के रूप में मैं $myEntity->getChildEntity()->getName() और $myEntity->getValue() प्राप्त करना चाहता था।

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

  • उत्तर

    31

    हाँ, परिभाषित की तरह इकाई कक्षा में एक getUniqueName() विधि:

    public function getUniqueName() 
    { 
        return sprintf('%s - %s', $this->name, $this->value); 
    } 
    

    और property प्रपत्र विकल्प को संपादित:

    'property' => 'childEntity.uniqueName', 
    

    तुम भी property विकल्प को छोड़ देते हैं और __toString() विधि एक ही परिभाषित कर सकते हैं हर रूप में property विकल्प की सेटिंग दोहराने के लिए।

    +1

    बस सही! धन्यवाद! – PedroHCan

    +0

    स्पॉट पर! बधाई.. – medina

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