我正在使用Symfony 4,并且尝试通过实现User
来将数据库中的其他角色加载到UserInterface
对象中:
/**
* @see UserInterface
*/
public function getRoles(): array
{
$roles[] = 'ROLE_USER';
foreach ($this->getGroups() as $g) {
array_push($roles, $g->getRole());
}
$this->roles = $roles;
return array_unique($this->roles);
}
我与ManyToMany
的{{1}}关系正常,当用户分配了某些角色时,“ Symfony Profiler安全性”部分的确显示了我的角色。
但是当我在Twig模板中User->Group
时,结果如下:
dump(app.user)
User^ {#373 ▼
-id: 1
-email: "test@test.com"
-providerId: "f725352f-4309-4121-9867-c71bbe5d1282"
-roles: []
-groups: PersistentCollection^ {#401 ▶}
}
为空。除非我打电话给roles
(它会进行数据库查询),否则角色是空的。
我该如何解决?