Symfony3-复选框的呈现矩阵

Symfony3-复选框的呈现矩阵,symfony,Symfony,我需要创建三种类型的住宿:酒店、房子和房间。他们中的每一个人都可以选择提供以下服务:早餐、电视和毛巾。其思想是创建一个复选框矩阵,并将其作为JSON字符串存储在数据库中的单个字段中。矩阵应如下所示: /** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder,

我需要创建三种类型的住宿:酒店、房子和房间。他们中的每一个人都可以选择提供以下服务:早餐、电视和毛巾。其思想是创建一个复选框矩阵,并将其作为JSON字符串存储在数据库中的单个字段中。矩阵应如下所示:

     /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $checkboxes = [
            'Hotel' => 'hotel', 'House' => 'house', 'Room' => 'room'
        ];

        $builder
            ->add('accommodations', ChoiceType::class, array(
                'choices'  => $checkboxes,
                'required' => false,
                'multiple' => true,
                'expanded' => true
            ));
    }

我在使用Formbuilder实现此想法时遇到问题。我已经解决了Symfony文档的问题,但没有任何效果。我现在拥有的代码如下所示:

     /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $checkboxes = [
            'Hotel' => 'hotel', 'House' => 'house', 'Room' => 'room'
        ];

        $builder
            ->add('accommodations', ChoiceType::class, array(
                'choices'  => $checkboxes,
                'required' => false,
                'multiple' => true,
                'expanded' => true
            ));
    }

代码看起来像这样。。。问题是什么?问题是“我在用Formbuilder实现这个想法时遇到了问题”。提供的代码远不能解决这个问题,我甚至不知道我是否走上了正确的道路……必须这样做,这将出现在Twig文件中。将数据转换为JSON字符串的类似矩阵的表单选择听起来是自定义表单类型和数据转换器的最佳候选。请检查以下链接:和。基本上,如果您有这样一个唯一的类型,您可以创建一个自定义类型并将所需的行/列传递给它,您可以创建细枝模板来显示它。然后DataTransformer将接收您提交的所有内容并自动将其转换为JSON。