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 User Entity 用に生成されたデータベース テーブルはありますか、それとも単なるクラスで永続化されていませんか

  2. 上記のコードでは、ユーザーテーブルは属性として firstname のみを持つか、FosUserBundle にある他のすべての属性を持ちますかModel/User.php?

  3. FOSUserBundle がテーブルを永続化するロジックはどこですか

4

2 に答える 2

0

1 - はい、テーブルが作成されます。ただし、FOSUserBundle によって提供されるユーザー エンティティを独自のもので拡張しているため、実際のテーブル構造には、FOSUserBundle エンティティにはない追加のフィールドが含まれる場合があることに注意してください。

2 - ユーザー テーブルには、FOSUserBundle のユーザー エンティティで定義されたすべてのフィールドと、サブクラスで定義されたフィールドが含まれます。

3 - よくわかりませんが、ソース コードを調べれば答えが見つかります。

于 2012-07-12T06:11:00.123 に答える
0
  1. いいえ。データベース スキーマを更新するだけで、フィールド $firstName は fos_user の別の列になります。
  2. 1を参照してください。
于 2012-07-12T05:45:49.003 に答える