首页 > 解决方案 > 数组中的 Symfony 下拉列表

问题描述

我有带字段的 symfony 表单

        ->add('roles', ChoiceType::class, [
            'choices' => [
                'Developer' => 'ROLE_DEVELOPER',
                'Support' => 'ROLE_SUPPORT',
                'Admin' => 'ROLE_ADMIN'
            ],
            'multiple' => true,
        ]);

我想删除多个选项,但 symfony 异常失败

phpfpm_1 | NOTICE: PHP message: [critical] Uncaught PHP Exception ErrorException: "Notice: Array to string conversion" at /var/www/symfony/vendor/symfony/form/ChoiceList/ArrayChoiceList.php line 68

如何避免?

标签: phpsymfony

解决方案


在数据库中,角色字段被定义为数组,因此选择类型必须返回数组类型的值。要解决此问题,您应该使用数据转换器(将数组转换为字符串)。检查这个: https ://symfony.com/doc/current/form/data_transformers.html


推荐阅读