2014-02-18 156 views
3

我想使用FOSUserBundle添加地址和電話號碼。我如何使用FOSuserBundle添加一個自定義字段,使其具有包含地址和電話號碼的配置文件....使用FOSUserBundle創建自定義字段

+0

您是否閱讀過[documentation](https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/index.md)?通過擴展你的課程,它可以讓你添加你需要的字段和屬性。 – Touki

回答

2

問題是在: 當我遵循symfony的文檔:https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/index.md在步驟a)學說ORM用戶類 我已創建的文件夾的教義包含User.orm.yml:

的src/Acme的/ UserBundle /資源/配置/教義/ User.orm.yml

的Acme \ UserBundle \實體\用戶: 類型:ENT兩者均 表:fos_user ID: ID: 類型:整數 發生器: 策略:AUTO

這個文件粉碎你的實體和數據庫shemea .The解決方案的更新任何更新,刪除此文件夾。

2

創建自己的用戶捆綁,並在MyCompanyUserBundle.php設置

public function getParent(){ 
     return 'FOSUserBundle'; 
} 

然後在你的新UserBundle您創建一個User實體,讓它從用戶FOS束的基本用戶延伸:

use FOS\UserBundle\Model\User as BaseUser; 
use Doctrine\ORM\Mapping as ORM; 

/** 
* @ORM\Entity 
* @ORM\Table(name="user") 
*/ 
class User extends BaseUser 
{ 

    public function __toString(){ 
     return $this->firstname . ' ' . $this->lastname . ' (' . $this->email . ')'; 
    } 

    /** 
    * Get id 
    * 
    * @return integer 
    */ 
    public function getId() 
    { 
     return $this->id; 
    } 



} 

EDIT

設置在配置所述用戶,以及:

fos_user: 
     db_driver: orm 
     firewall_name: main 
     user_class: MyCompany\UserBundle\Entity\User 
+0

問題不在於FOSU​​serBundle的整合。我整合了FOSUserBundle,問題是當我在實體中添加新的冠軍時,我遵循symfony文檔:https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/ doc/overriding_forms.md,當我在cmd中:php應用程序/控制檯教條:模式:更新結果是:什麼都不適合你的數據庫已經同步 – razzek

+0

我已經更新了我的答案,希望這可以幫助 – NoScope