1

次のようなさまざまなカテゴリのユーザーが存在する階層があります

  1. スタッフ管理者
  2. 教師
  3. 両親
  4. 学生

それらをすべて1つのデータベーステーブルに入れることを考えていましたusertable

しかし、すべてのカテゴリはそれぞれ異なる属性になり、生徒には親もいます。SO独自のユーザーテーブルとの多対多の関係があります。

しかし、異なるテーブルを作成すると、ログインプロセスは人によって異なります。

どのように行けばいいですか

4

1 に答える 1

2

ユーザーはすべて、ユーザー名、パスワードなどの共通の詳細を共有するため、必要なuserテーブルは 1 つだけです。これには実際にFOSUserBundleを使用する必要があります。異なるタイプのユーザーが異なる固有の詳細セットを持っている場合、ユーザー タイプごとに追加のテーブルを作成し、外部キーを使用してuserテーブルから新しいテーブルにユーザーをリンクすることをお勧めします (おそらく、 などparent_profileの名前が付けられますstudent_profile)。

ユーザーの階層に関しては、ロールを使用する必要があります。Symfony2 のドキュメントには、この件に関して必要な情報がすべて含まれています。

ユーザーを相互にリンクする必要がある場合は、1 対 1 の自己参照1 対多の自己参照の関連付けに対する Doctrine 2 のサポートを読んでください。ユーザー ユーザー タイプに個別のエンティティ クラスを使用する場合は、通常の 1 対 1 および 1 対多の関連付け手法を使用できます。

お役に立てれば。

于 2012-07-11T02:11:29.220 に答える