2012-07-12 81 views
1

从FOSUserbundle扩展我的UserBundle,那么哪些字段会持久保存到数据库。我看到有一个完整的用户类 Model/User.phpEntity/User.php如果我从FOSUserBundle延伸用户实体

我延长我的班级为

namespace MYS\CoreBundle\Entity; 
use FOS\UserBundle\Entity\User as BaseUser; 
use Doctrine\ORM\Mapping as ORM; 
use Symfony\Component\Validator\Constraints as Assert; 

/** 

* @ORM\Entity 

* @ORM\Table(name="fos_user") 

*/ 

class User extends BaseUser 

{ 

    /** 

* @ORM\Column(type="string", length="255") 

* 

* @Assert\NotBlank(message="Please enter your name.", groups={"Registration", "Profile"}) 

* @Assert\MinLength(limit="3", message="The name is too short.", groups={"Registration", "Profile"}) 

* @Assert\MaxLength(limit="255", message="The name is too long.", groups={"Registration", "Profile"}) 

*/ 

protected $firstName; 

我的问题是:

  1. 是否有产生的任何数据库表FOSUSerbundle用户实体或他们只是类,并没有坚持

  2. 在我abov E码将我的用户表将只作为名字的属性或所有其他属性这是在Model/User.php在FosUserBundle

  3. 哪里是哪里FOSUserBundle是坚持他的表的逻辑

回答

0
  1. 号你必需在更新数据库模式和字段$ firstName将成为fos_user中的另一列。
  2. 请参阅1.
0

1 - 是的,将创建一个表。但请记住,由于您使用您自己的方式扩展了由FOSUserBundle提供的用户实体,因此实际的表结构可能包含FOSUserBundle实体没有的其他字段。

2 - 您的用户表将包含FOSUserBundle的用户实体中定义的所有字段以及您的子类中定义的所有字段。

3 - 我无法确定是否有问题,但请仔细阅读源代码,您将找到答案。