FOSUserBundle переопределяет сопоставление, чтобы исключить необходимость в имени пользователя

Я хочу убрать необходимость в имени пользователя в FOSUserBundle. Мои пользователи будут входить в систему, используя только адрес электронной почты, и я добавил поля реального имени как часть сущности пользователя. Я понял, что мне нужно переделать все сопоставление, как описано здесь .Я думаю, что сделал это правильно, но когда я пытаюсь отправить регистрационную форму, я получаю сообщение об ошибке:

«Только имена полей, отображаемые Doctrine, могут быть проверены на уникальность».

Странно то, что я не пытался установить уникальное ограничение для чего-либо в пользовательском объекте.

Вот мой полный файл сущности пользователя:

 firstName;
            }

            /**
             * @return string
             */
            public function getLastName()
            {
                return $this->lastName;
            }

             /**
             * Sets the first name.
             *
             * @param string $firstname
             *
             * @return User
             */
            public function setFirstName($firstname)
            {
                $this->firstName = $firstname;

                return $this;
            }

                 /**
             * Sets the last name.
             *
             * @param string $lastname
             *
             * @return User
             */
            public function setLastName($lastname)
            {
                $this->lastName = $lastname;

                return $this;


       }
    }

Я видел различные предложения по этому поводу, но ни одно из предложений не работает для меня. В документах FOSUserBundle очень мало информации о том, что должно быть очень распространенным запросом.

7
задан ahmed hamdy 30 December 2013 в 13:53
поделиться