同时编辑多个实体

时间:2018-04-24 18:13:32

标签: php forms symfony controller twig

我知道如何在一个实体中编辑数据,但我需要在单个页面上编辑更多实体,并使用单个提交按钮。这样做的最佳选择是什么?更具体一点:我已经列出了购物车,我想编辑"数量"同时每行(购物车实体)的字段

我知道我必须以某种方式生成表单,并且我知道如果我有"更新"每一行的按钮,但它必须看起来像给出的屏幕截图。

Front Screen

2 个答案:

答案 0 :(得分:1)

您正在寻找的是Symfony的Form Collections。表单集合允许您一次添加和/或编辑多个实体。请查看文档中的Tags考试,其中展示了add/update/delete代码的标记方式。您需要为购物车做同样的事情。

答案 1 :(得分:0)

使用formType字段例如:

假设您要混合两个与其他实体MixedEntity有关系的实体客户端,那么您可以执行以下操作

$builder->add('clientName',TextType::class,array(
        'label'=> false
    ))

       .....
       .....

        ->add('anOtherField',TextType::class,array(
        'label'=> false))
        ->add('MixedEntity', new MixedEntityType(),array(
        ));

您可以在实体关系中设置cascade={"persist"}

在树枝上:

{{ form_row(form.MixedEntity.field, { 'attr': {'class': 'CssClass'} }) }}

symfony文档: https://symfony.com/doc/current/reference/forms/types/form.html