【问题标题】:Editing multiple entities simultaneously同时编辑多个实体
【发布时间】:2018-04-24 18:13:31
【问题描述】:

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

我知道我必须以某种方式生成表单,如果我为每一行都有“更新”按钮,我知道该怎么做,但它必须看起来像给定的屏幕截图。

【问题讨论】:

    标签: php forms symfony controller twig


    【解决方案1】:

    您正在寻找的是 Symfony 的 Form Collections。表单集合允许您一次添加和/或编辑多个实体。查看文档中的Tags 示例,其中显示了如何使用add/update/delete 标记。您需要为您的购物车执行几乎相同的操作。

    【讨论】:

    • 我想就是这样(在副项目上测试),但我明天会发现
    【解决方案2】:

    以 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

    【讨论】:

    • 考虑用更多细节来更新你的答案,解释它与问题的关系。现在看起来你从文档中复制/粘贴了几行。目前尚不清楚它如何帮助在一页上“编辑多个实体”。
    猜你喜欢
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 2018-01-27
    相关资源
    最近更新 更多