Symfony2 FOSUserBundle - простой способ избавиться от полей электронной почты пользователя


Поскольку я создаю веб-приложение, которое будет использоваться в исследованиях пациентов в области здравоохранения, я хочу, чтобы все мои пользователи были полностью анонимными. Могу ли я простым способом избавиться от полей email и email_canonical, не переписывая содержимое в самом пакете, например, сделав что-то с моим пользовательским классом в моем собственном пакете?

РЕДАКТИРОВАТЬ: Я сделал это:

/**

*   @ORM\Column(nullable=true)

**/

protected $email;



/**

*   @ORM\Column(nullable=true)

**/

protected $emailCanonical; 

В моем классе сущностей пользователя. Но когда я делаю php-приложение/консольную доктрину:схема:обновление --принудительно я получаю

[Доктрина\ORM\Отображение\Исключение сопоставления]
Дублирующее определение столбца "электронная почта" в сущности "Pan100\Moodlogbundle\Enti
ty\Пользователь" в сопоставлении столбцов поля или дискриминатора.

ПРАВКА 2: Забыл сказать, что это делается в классе, расширяющем пользователя класса модели FOUserBundle в качестве базового пользователя...

Author: Piddien, 2013-03-01

1 answers

ХОРОШО!

Я сделал:

...
/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
* @ORM\AttributeOverrides({
*              @ORM\AttributeOverride(name="email", column=@ORM\Column(nullable=true)),
*              @ORM\AttributeOverride(name="emailCanonical", column=@ORM\Column(nullable=true, unique=false))
*  
* })  
*/

class User extends BaseUser
{

    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */

    protected $id;
...(code emitted)

Позже я узнаю, нужно ли больше - мне, вероятно, придется переопределить некоторые методы FOSUserBundle для создания пользователей. По крайней мере, для команды "php app/console fos: пользователь: создать тестового пользователя" требуется электронное письмо... Но он больше не должен быть уникальным, поэтому, если мне помешают позже, я могу просто добавить строку "нет" или что-то в этом роде...

 10
Author: Piddien, 2013-03-01 18:12:00