我有层次结构,其中有不同类别的用户,例如
- 员工管理员
- 教师
- 父母
- 学生们
我正在考虑将它们全部放在一个名为的数据库表中usertable
但是所有类别都有不同的属性,然后学生也会有他们的父母。所以与自己的用户表会有多对多的关系。
但是如果我制作不同的表格,那么不同人的登录过程会有所不同。
我该怎么走
我有层次结构,其中有不同类别的用户,例如
我正在考虑将它们全部放在一个名为的数据库表中usertable
但是所有类别都有不同的属性,然后学生也会有他们的父母。所以与自己的用户表会有多对多的关系。
但是如果我制作不同的表格,那么不同人的登录过程会有所不同。
我该怎么走
由于用户都将共享共同的详细信息,例如用户名、密码等,因此您只需要一张user
表。您实际上应该为此使用FOSUserBundle。如果不同类型的用户有不同的独特细节集,我建议为每个用户类型创建额外的表,并使用外键将用户从user
表链接到新表(可能命名为parent_profile
,student_profile
等)
关于用户的层次结构,您应该使用角色。Symfony2文档有你在这个主题上需要的所有信息。
如果您需要将用户相互链接,请阅读 Doctrine 2 对一对一自引用和一对多自引用关联的支持。如果您为用户用户类型使用单独的实体类,则可以使用常规的一对一和一对多关联技术。
希望这可以帮助。