Symfony 表单类别 - 子类别

Symfony form category - subcategory

我尝试制作一个带有类别和子类别的表单,如下图所示:

所以,我制作了这样的表格:

        ->add('souscategorie', EntityType::class, array(
                                    'label' => false,
                                    'class' => 'App:souscategorie',
                                    'query_builder' => function(EntityRepository $er) {
                                        return $er->createQueryBuilder('souscategorie')
                                            ->leftJoin('souscategorie.categorie', 'categorie')
                                            ->addSelect('souscategorie')
                                            ->addSelect('categorie')
                                        ;
                                    },
                                    'expanded'=> true,
                                    'multiple'=> true,
                                    'choice_label' => function($sousCategorie){
                                        return $sousCategorie->getCategorie()->getNom()." - ".$sousCategorie->getNom();
                                    },
                                    'group_by' => function($sousCategorie, $key, $value){
                                        return $sousCategorie->getCategorie()->getNom();
                                    }))

结果显示所有类别和子类别串联。

如何拆分类别和子类别?

感谢您的帮助 ;)

要为您的 categories 创建 tree 结构,您可以使用 StofDoctrineExtensionsBundle

捆绑包的文档 is here

您需要使用 Tree 扩展(嵌套集变体)。

这里是向项目how to add categories展示

的示例