簡體   English   中英

Symfony2 FOSUserBundle - 擺脫用戶電子郵件字段的簡單方法

[英]Symfony2 FOSUserBundle - simple way to get rid of the email fields in user

當我創建一個將用於研究健康領域患者的Web應用程序時,我希望我的所有用戶都是完全匿名的。 我是否可以通過簡單的方式擺脫email和email_canonical字段而無需在包本身中重寫內容,例如通過在我自己的包中對我的User Class執行某些操作?

編輯:我做了這個:

/**

*   @ORM\Column(nullable=true)

**/

protected $email;



/**

*   @ORM\Column(nullable=true)

**/

protected $emailCanonical; 

在我的用戶實體類中。 Bu twhen我做php app / console doctrine:schema:update --force我得到

[學說\\ ORM \\映射\\ MappingException]
實體'Pan100 \\ MoodLogBundle \\ Enti上的列'email'的重復定義
ty \\ User'在字段或鑒別器列映射中。

編輯2:忘了說這是在擴展FOUserBundle的模型類User作為BaseUser的類中完成的...

好!

我做了:

...
/**
* @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:user:create testuser”命令需要一封電子郵件......但它不再是唯一的,所以如果我以后受阻,我可以添加字符串“none”或其他東西。 ..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM