2014-02-18 125 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