FOS用户更新错误


FOS User update error

我正在与Sonata一起开发Symfony 2,8项目。我发现用户是用FOS管理的:

namespace Voyage'AdminBundle'Admin;
use Sonata'AdminBundle'Admin'Admin;
use Sonata'AdminBundle'Form'FormMapper;
use Sonata'AdminBundle'Datagrid'DatagridMapper;
use Sonata'AdminBundle'Datagrid'ListMapper;
use Sonata'AdminBundle'Show'ShowMapper;
use Sonata'UserBundle'Model'UserInterface;
use FOS'UserBundle'Model'UserManagerInterface;
class UserCoreAdmin extends Admin {
    /**
     * {@inheritdoc}
     */
    public function getFormBuilder() {
        //...
    }
    /**
     * {@inheritdoc}
     */
    public function getExportFields() {
        // avoid security field to be exported
    }
    /**
     * {@inheritdoc}
     */
    protected function configureListFields(ListMapper $listMapper) {
        //...
    }
    /**
     * {@inheritdoc}
     */
    protected function configureDatagridFilters(DatagridMapper $filterMapper) {
       //...
    }
    /**
     * {@inheritdoc}
     */
    protected function configureShowFields(ShowMapper $showMapper) {
    //...
    }
    /**
     * {@inheritdoc}
     */
    protected function configureFormFields(FormMapper $formMapper) {
        //...
    }
    /**
     * {@inheritdoc}
     */
    public function preUpdate($user) {
        $this->getUserManager()->updateCanonicalFields($user);
        $this->getUserManager()->updatePassword($user);
    }
    /**
     * @param UserManagerInterface $userManager
     */
    public function setUserManager(UserManagerInterface $userManager) {
        $this->userManager = $userManager;
    }
    /**
     * @return UserManagerInterface
     */
    public function getUserManager() {
        return $this->userManager;
    }
}

和我得到这个错误,而做一个用户更新:

注意:未定义属性:航行' AdminBundle ' Admin ' UserCoreAdmin:: $ userManager

500内部服务器错误- contextroreexception

您应该扩展Sonata'UserBundle'Admin'Entity'UserAdmin,它应该具有此属性,而不是Sonata'AdminBundle'Admin'Admin

服务中缺少一个配置。yml中缺少对SetUserManager的调用。

- [ setUserManager, [ @fos_user.user_manager]]