を提出し、選択肢が他のエンティティからフィールドから配列としてsymfonyの - フォームビルダ:ChoiceTypeは常にNULLの後、私はsymfonyで仕事と私はChoiceTypeでフォームを持っている
を来ているにformType
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('paq', ChoiceType::class, array(
'choices' => $options['data_array'],
));
}
小枝
<form action="{{ path('ligne_panier_create', { 'id': opProd.produit.id }) }}" method="post" {{ form_enctype(form) }} >
{{form_start(form)}}
<div class="form-group">
<h5>Choisir le type de paquetage</h5>
{{form_widget(form.paq, { 'attr': {'class': 'form-control subject'} }) }}<br>
</div>
<p class="text-center">
<button type="submit" id="_submit" name="_submit" value="" class="btn btn-primary" ><i class="fa fa-sign-in"></i>Ajouter </button>
</p>
{{form_end(form)}}
</form>
後に、このフィールドの値を提出コントローラ
public function createAction(Request $request, $id)
{
$em=$this->getDoctrine()->getManager();
$Lpanier = new LignePanier();
$produit = $em->getRepository('CentralBundle:Produit')->find($id);
$opProd = $em->getRepository('CentralBundle:OperationProduit')->find($id);
$data_array = $opProd->getPaquetage();
$form = $this->createForm('Central\CentralBundle\Form\LignePanierType', $Lpanier, array('data_array'=>$data_array));
$form->handleRequest($request);
$paq= $form['paq']->getData(); // always null !!
$qte= $form['qte']->getData(); // work fine
$Lpanier->setPrixTotProd($qte*$produit->getPrixVenteTTC());
$em->persist($Lpanier);
$em->flush($Lpanier);
return $this->render('CentralBundle:Default:commitSuccess.html.twig');
}
完全リストの選択表示が、問題は常にデータベースにNULLを取得します。
私はフォームに他の入力があり、完全に提出しました!
誰かが私を助けることができますか?
あなたは '$ options ['data_array']'をどのように配置するのか教えてください。 'form_start'は'
'を出力します。生成されるHTMLには2つの形式がありますので注意してください。 – LP154