用FosUserBundle和SonataAdminBundle出现Roles和password无法update的问题

nistlrooy
  • 25

我刚学习symfony2使用的是最新的fosuserbundle2.0和sonataadminbundle,不使用sonatauserbundle。
现在通过官网配置已经可以用sonataadminbundle的dashboard创建和修改user这个entity。
user是继承fosuserbundle的,现在发现2个问题:
1、用dashboard创建新用户一切正常。但是update密码的时候,password的数据就不会更新了。
2、Roles无论在创建还是在update的时候都不会正确保存数据,永远都是空的。
下面是MyUserBundle\Admin\UserAdmin.php class UserAdmin extends Admin的代码

protected function configureFormFields(FormMapper $formMapper)
        {
            $formMapper
                ->add('email', 'email', array('label' => 'form.email', 'translation_domain' => 'FOSUserBundle'))
                ->add('username', null, array('label' => 'form.username', 'translation_domain' => 'FOSUserBundle'))
                ->add('name',null,array('label' => 'form.name', 'translation_domain' => 'FOSUserBundle'))
                ->add('plainPassword', 'repeated', array(
                    'type' => 'password',
                    'options' => array('translation_domain' => 'FOSUserBundle'),
                    'first_options' => array('label' => 'form.password'),
                    'second_options' => array('label' => 'form.password_confirmation'),
                    'invalid_message' => 'fos_user.password.mismatch',
                    'required'    => false,
                    )
                )
                ->add('enabled', 'checkbox', array(
                    'label'     => 'Enable Account',
                    'translation_domain' => 'FOSUserBundle',
                    'required'  => false,
                ))
                ->add('roles','choice',array('choices'=>$this->getConfigurationPool()->getContainer()->getParameter('security.role_hierarchy.roles'),'multiple'=>true ));
            ;
        }
    有高人指点我一下吗?谢谢啦。
回复
阅读 2.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏