EntityType Symfony 表单的集合类型

问题描述 投票:0回答:2

甚至可以制作?

->add('product', CollectionType::class, [
      'entry_type'    => EntityType::class, array(
        'data' => $options['product'],
        'placeholder' => 'Wybierz klienta',
        'multiple' => true,
        'class' => Products::class,
        'attr' => ['class' => 'chosen-select','data-placeholder'=>'Wybierz produkt'],
        'choice_label' => function ($product) {
            return  ''.$product->getJson()["products"]["name"] .' | Stan Magazynowy: '.$product->getJson()["products"]["stock"].'';
          },
      'label' => 'Wybierz produkty'

      ),
      'entry_options' => [
          'label' => 'Value',
      ],
      'label'        => 'Add, move, remove values and press Submit.',
      'allow_add'    => true,
      'allow_delete' => true,
      'prototype'    => true,
      'required'     => false,
      'attr'         => [
          'class' => 'my-selector',
      ],
  ])

我将尝试在 CollectiontType 中添加选定的 Products::class 列表,如果有人想将产品添加到新订单,可以添加新的 EntityType 并选择产品,提交后我会将其处理为数组并将其保存到订单.

如果有人有其他想法如何将产品添加到带有数量的表单中,然后将其发布到数组中,请随意写:)

php forms symfony
2个回答
1
投票

我认为这不是最好的方法。 您只需将 CollectionType 添加到 FormType 并更新 ProductType 类即可处理是否选择了此选项。可能您必须为仅用于订单的产品创建自定义表单类型:-/。所有的辛苦工作都在 javascript 方面


0
投票

只需将您的

array(
部件放入
entry_options

内即可
© www.soinside.com 2019 - 2024. All rights reserved.