Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony中用户的角色_Symfony_User Roles - Fatal编程技术网

Symfony中用户的角色

Symfony中用户的角色,symfony,user-roles,Symfony,User Roles,我有一个关于用户在Symfony中的角色的问题。这是因为Symfony中的登录机制是一个字符串数组(每个字符串代表一个角色)。因此,在我的数据库中,我需要一对多的关系(一个用户有多个角色)。但是,许多用户可能有相同的角色,因此,我最终需要一个多对多的关系(许多用户有一个角色,一个角色有许多用户) 这不是问题,我有两个实体:具有多对多关系的用户和角色 当我尝试登录时会出现问题,因为它是一个字符串数组(但我有一个对象数组角色)。我可以提取角色对象的名称,并使用“getRole()”方法返回字符串数组

我有一个关于用户在Symfony中的角色的问题。这是因为Symfony中的登录机制是一个字符串数组(每个字符串代表一个角色)。因此,在我的数据库中,我需要一对多的关系(一个用户有多个角色)。但是,许多用户可能有相同的角色,因此,我最终需要一个多对多的关系(许多用户有一个角色,一个角色有许多用户)

这不是问题,我有两个实体:具有多对多关系的用户和角色

当我尝试登录时会出现问题,因为它是一个字符串数组(但我有一个对象数组角色)。我可以提取角色对象的名称,并使用“getRole()”方法返回字符串数组。在这个解决方案中,登录机制工作得很好,但是当我尝试表示用户实体(例如,在表单中)时,角色不起作用(因为“getRole()”返回的是字符串数组而不是对象数组)

如何解决这两个问题

1) 登录机制使用用户实体的getRole()方法检查字符串数组

2) 用户实体的表示使用用户实体的getRole()方法查看角色对象数组


对不起,我说的是英语。

您可以随时将getRoleObjects()添加到您的用户实体中。但我怀疑你让事情变得更难了。如果您计划按角色进行大量查询或挂起角色的附加信息,那么您只需要在用户和角色之间建立真正的多人关系。在大多数情况下,只需将角色定义并持久化为数组。谢谢,我最终会这样做:创建一个getRole(),它返回登录机制使用的字符串数组和与数据库表映射的getRoleObjects()。您始终可以将getRoleObjects()添加到您的用户实体中。但我怀疑你让事情变得更难了。如果您计划按角色进行大量查询或挂起角色的附加信息,那么您只需要在用户和角色之间建立真正的多人关系。在大多数情况下,只需将角色定义并持久化为一个数组。谢谢,我最终会这样做:创建一个getRole(),它返回登录机制使用的字符串数组和与数据库表映射的getRoleObjects()。