Я использую sonata admin для создания панели администратора для пользователей FOS USER. И мне нужно использовать раскрывающийся список для «ролей».Использовать выпадающее меню для Fos User bundle role field in sonata admin
Это мой админ класс,
<?php
namespace AdminBundle\Admin;
use Sonata\AdminBundle\Admin\Admin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Show\ShowMapper;
class UserAdmin extends Admin {
protected function configureFormFields(FormMapper $formMapper) {
$formMapper->add('name', 'text');
$formMapper->add('surname', 'text');
$formMapper->add('username', 'text');
$formMapper->add('email', 'text');
$formMapper->add('telephone', 'text');
$formMapper->add('password', 'text');
$formMapper->add('roles', 'choice', array(
'choices' => array(
'Admin' => 'a:1:{i:0;s:10:"ROLE_ADMIN";}',
'User' => 'a:0:{}',
),
'choices_as_values' => true,
));
}
Но я получаю эту ошибку,
Примечание: Массив для преобразования строки 500 Внутренняя ошибка сервера - ContextErrorException
Я думаю, что это часть ведьмы дает ошибку,
$formMapper->add('roles', 'choice', array(
'choices' => array(
'Admin' => 'a:1:{i:0;s:10:"ROLE_ADMIN";}',
'User' => 'a:0:{}',
),
'choices_as_values' => true,
));