以 Symfony 形式为实体分组复选框 [英] Group checkboxes for entities in a Symfony form

查看:30
本文介绍了以 Symfony 形式为实体分组复选框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何为 Symfony 表单中的实体分组复选框?

How can I group checkboxes for entities in Symfony forms?

->add(
    'products',
    EntityType::class,
    [
        'class' => Product::class,
        'choice_label' => 'titel',
        'multiple' => true,
        'expanded' => true,
    ]
)

我的域模型 Product 只属于一个 ProductFamily.每个 ProductFamily 都只属于一个 ProductSuperFamily.在我的表单中,Product 复选框应该这样分组:

Im my domain model a Product belongs to exactly one ProductFamily. Every ProductFamily belongs to exactly one ProductSuperFamily. In my form the Product checkboxes should be grouped like this:

Product Super Family 1
    Product Family 1
        [ ] Product 1
        [ ] Product 2
    Product Family 2
        [ ] Product 3
    Product Family 3
        [ ] Product 4
        [ ] Product 5
Product Super Family 2
    Product Family 4
        [ ] Product 6
        [ ] Product 7
        [ ] Product 8
    Product Family 5
        [ ] Product 9
Product Super Family 3
    Product Family 6
        [ ] Product 10
        [ ] Product 11

我怎样才能做到这一点?

How can I achive this?

推荐答案

选择类型允许,必须使用group_by 选项:

It is allowed by the choice type, you must use the group_by option:

'group_by' => function(Product $product) {
    return $product->getFamily()->getLabel()
},

这篇关于以 Symfony 形式为实体分组复选框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆