2016-11-17 3 views
0

Hallo Formular senden Ich habe ein Filed (mehrere wählen select2 Plugin), Name, Vorlage zu, die mehrere, E-Mail-Adressen enthalten:Mehrere nicht in der Lage auswählen multuple Werte schreiben

//My FormType Is: 
->add('sendToEmailAddress', 'choice', array(
      'choices' => array('LOCATION_OWNER' => 'LOCATION OWNER', 'ENQUIRER' => 'ENQUIRER','ENQUIRY_HANDLER' => 'ENQUIRY HANDLER'), 
      'required' => true,'data' => '','attr' => array('multiple'=>true,'class'=>'emalandSmsSendTo') 
     )) 

//My Twig File 

{{ form_label(form.sendToEmailAddress, 'Send To Email', {'label_attr': {'class': 'col-md-3 control-label'}}) }} 
     <div class="col-md-9"> 
      {{ form_widget(form.sendToEmailAddress) }} 
      {{ form_errors(form.sendToEmailAddress) }} 
     </div> 

//My Entity Is: 
/** 
* @var ArrayCollection 
* 
* @ORM\Column(name="send_to_email_address") 
*/ 
private $sendToEmailAddress; 
/** 
* Set sendToEmailAddress 
* 
* @param Array $sendToEmailAddress  
*/ 
public function setSendToEmailAddress($sendToEmailAddress) 
{ 
    $this->sendToEmailAddress = new ArrayCollection($sendToEmailAddress); 
    // $this->sendToEmailAddress = $sendToEmailAddress; 

    return $this; 
    } 

    /** 
* Get sendToEmailAddress 
* 
* @return \Doctrine\Common\Collections\Collection 
*/ 
    public function getSendToEmailAddress() 
    { 
     return $this->sendToEmailAddress; 
    } 

Ich möchte Speichern Sie mehrere ausgewählte Werte in einem einzigen Feld "sendToEmailAddress" als serialisiertes Array. aber beim Buchen dieser Felder, die nicht in der Lage sind, mehrere Felder zu posten, wird nur ein Feld gepostet.

Bitte führen Sie, was ich in diesem fehlt.

Vielen Dank im Voraus

Antwort

0

In Ihrem Formtype, 'multiple'=>true sollte nicht in der attr sein.

->add('sendToEmailAddress', 'choice', array(
      'choices' => array('LOCATION_OWNER' => 'LOCATION OWNER', 'ENQUIRER' => 'ENQUIRER','ENQUIRY_HANDLER' => 'ENQUIRY HANDLER'), 
      'required' => true, 
      'multiple'=>true, 
      'data' => '', 
      'attr' => array('class'=>'emalandSmsSendTo') 
     )) 
+0

Am besten wäre es, 'Daten' => 'durch' Platzhalter '=>' 'zu ersetzen. Ich weiß nicht, ob es etwas in Select betrifft, aber im Textfeld erzwingt es den Wert – progg

+0

Ja, ich habe es dankend gelöst. Jetzt habe ich eine weitere Herausforderung, die ich brauche, um die Auswahlliste zu zeigen, wie sie im Bearbeitungsformular ausgewählt wurde. die Werte speichern als serialisierte Array in db, können Sie bitte helfen Sie mir in diesem –

+0

Feldname: E-Mail-Adressen: a: 2: {i: 0; s: 8: "ENQUIRER"; i: 1; s: 15: "ENQUIRY_HANDLER";}, Beim Bearbeiten des Formulars muss ich die voreingestellten Werte anzeigen, die vom Benutzer zum Zeitpunkt des Speicherns der Daten ausgewählt wurden. Ist das möglich? –