0

ハンドル ログイン/ログアウト/登録 ( security ) が正常に動作するようにカスタム バンドルを作成しました。

これは、セキュリティ バンドルに影響を与えずに、または少なくとも必要なバンドルに対してのみプロファイルをユーザーに添付する最良の方法です。symfony 内にインターフェイス プロファイルはありますか?

データベースに保存せずに Doctrine2 との関係を作成する何らかの方法が存在します。ストアなしでプロファイルとユーザーの間にOneToOneの関係を作成します(明らかに、プロファイルとユーザーにはこの関係をチェックするためのデータがありますが、外部キーはありません)

アップデート

継承をテストしていますが、2 つのテーブルは必要ありません。必要なのは 1 つだけです。同じテーブル名を入力すると競合が発生し、ユーザー テーブルのみが必要です。エンティティを削除して MappedSuperclass を追加すると、バンドルでは正常に動作しますが、他のバンドルでは動作しなくなります。バンドルごとにユーザーを拡張する必要があります (これは必要ありません)。修正方法

4

1 に答える 1

0

2 つのテーブルを持たずに継承を使用する場合は、単一テーブルの継承を使用できます。

ユーザーの例:

/**
 * @ORM\Entity
 * @ORM\InheritanceType("SINGLE_TABLE")
 * @ORM\DiscriminatorColumn(name="discr", type="string")
 * @ORM\DiscriminatorMap({"user" = "User", "user_with_profile" = "ExtendedUser"})
 */
class User
{
    // ...
}

拡張ユーザーの例:

/**
 * @ORM\Entity
 */
class ExtendedUser extends User
{
    // ...
}
于 2013-06-13T18:51:44.713 に答える