在事件监听器中获取多个字段

时间:2018-11-11 12:24:17

标签: php forms symfony4

例如,如果我们有一个POST_SUBMIT事件监听器,

$builder->get('client')->addEventListener(
  FormEvents::POST_SUBMIT,
  function (FormEvent $event)
  {
    $form = $event->getForm();
    $data = $form->getData();
    if($data) {
      $shippings = $form->getData()->getClientsShippings()->getValues();

      $form->getParent()->add('shipping', EntityType::class, [
        'class' => ClientsShippings::class,
        'placeholder' => 'Wybierz adres dostawy',
        'choices' => $shippings,
        'attr' => [
          'class' => 'chosen-select',
        ],
        'choice_label' => function ($shipping) {
          return "".$shipping->getJson()['clients_shippings']['name']." | ".$shipping->getJson()['clients_shippings']['ulica']." | ".$shipping->getJson()['clients_shippings']['miejscowosc']."";
        }
      ]);
    }
  });

多数民众赞成在可能性管理数据,但仅形成“客户”字段。我如何将其他字段添加到此事件监听器。

为什么? 因为我想在提交的交付方式上创建eventListener,如果我要处理此事件,我想采用CollectionType of products字段,并检查有多少产品并进行数学计算,那么有多少交付会顺畅进行。

所以我需要得到:

名为“ order_products”的CollectionType字段, ChoiceType字段名称'order_payment'->获取价格表(是实体),

做数学,

并添加新字段TextType,其值来自数学。

有什么主意我可以如何将多个字段传递给EventListener或如何做到这一点?

0 个答案:

没有答案