1

我正在从 FOSUserbundle 扩展我的 UserBundle。Model/User.php我看到里面有一个完整的用户类 Entity/User.php

我正在扩展我的课程

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. 在我上面的代码中,我的用户表将只有名字作为属性或Model/User.phpFosUserBundle 中的所有其他属性

  3. FOSUserBundle 持久化他的表的逻辑在哪里

4

2 回答 2

0
  1. 不可以。您必须只更新数据库架构,并且字段 $firstName 将是 fos_user 中的另一列。
  2. 见 1。
于 2012-07-12T05:45:49.003 回答
0

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

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

3 - 我不确定,但看看源代码,你会找到答案。

于 2012-07-12T06:11:00.123 回答