相关疑难解决方法(0)

Symfony 表单 - Choicetype - 错误“数组到字符串转换”

我正在使用 FosUserBundle 运行 Symfony 3.4。我定制了注册表以获得Roles包含的内容:

<?php

    $form->add('roles', ChoiceType::class, array(
        'choices' => array(
            'user' => 'ROLE_USER',
            'admin' => 'ROLE_ADMIN'
        ),
        'label' => 'Role :',
        'expanded' => true,
        'multiple' => true
    ));
Run Code Online (Sandbox Code Playgroud)

然后现在可以通过 2 个新复选框在注册表中选择角色......但我想用<select>标签显示它。当我将expanded选项设置false为选择时,但如果我将multiple选项设置为 FALSE,则会出现错误:

数组到字符串的转换

有什么想法可以解决我的问题吗?

编辑:下面是堆栈跟踪:

Symfony\Component\Debug\Exception\ContextErrorException:
Notice: Array to string conversion

  at vendor\symfony\symfony\src\Symfony\Component\Form\ChoiceList\ArrayChoiceList.php:73
  at Symfony\Component\Form\ChoiceList\ArrayChoiceList->Symfony\Component\Form\ChoiceList\{closure}(array('ROLE_USER'))
  at call_user_func(object(Closure), array('ROLE_USER'))
     (vendor\symfony\symfony\src\Symfony\Component\Form\ChoiceList\ArrayChoiceList.php:158)
  at Symfony\Component\Form\ChoiceList\ArrayChoiceList->getValuesForChoices(array(array('ROLE_USER')))
     (vendor\symfony\symfony\src\Symfony\Component\Form\Extension\Core\DataTransformer\ChoiceToValueTransformer.php:32)
  at Symfony\Component\Form\Extension\Core\DataTransformer\ChoiceToValueTransformer->transform(array('ROLE_USER'))
     (vendor\symfony\symfony\src\Symfony\Component\Form\Form.php:1104)
  at Symfony\Component\Form\Form->normToView(array('ROLE_USER'))
     (vendor\symfony\symfony\src\Symfony\Component\Form\Form.php:350)
  at Symfony\Component\Form\Form->setData(array('ROLE_USER'))
     (vendor\symfony\symfony\src\Symfony\Component\Form\Extension\Core\DataMapper\PropertyPathMapper.php:49)
  at Symfony\Component\Form\Extension\Core\DataMapper\PropertyPathMapper->mapDataToForms(object(User), object(RecursiveIteratorIterator))
     (vendor\symfony\symfony\src\Symfony\Component\Form\Form.php:383)
  at Symfony\Component\Form\Form->setData(object(User))
     (vendor\friendsofsymfony\user-bundle\Controller\RegistrationController.php:70) …
Run Code Online (Sandbox Code Playgroud)

php symfony-forms symfony symfony-3.4

3
推荐指数
2
解决办法
3951
查看次数

标签 统计

php ×1

symfony ×1

symfony-3.4 ×1

symfony-forms ×1