我正在尝试在实体中获取用户对象。我正在使用FosUserBundle和PugxMultiUserBundle,我尝试了以下命令:
container->get('fos_user.user_manager')->getToken()->getUser();
但我明白了:
Undefined property $container
我该如何解决?
感谢您的帮助。
不起作用的功能是在实体内部,它是以下内容:
protected function getUploadDir()
{
$userManager = $this->container->get('security.context');
$user = $userManager->findUserByUsername($this->container->get('security.context')
->getToken()
->getUser());
return 'uploads/'.$user;
}
答案 0 :(得分:0)
@OP编辑后的更新...
您无法从实体访问容器(因此也是userManager)。实体不应该访问容器本身。
您在变量名称前缺少$
。
但这不是全部,控制器内的解决方案:
$userManager = $this->container->get('fos_user.user_manager');
$user = $userManager->findUserByUsername($this->container->get('security.context')
->getToken()
->getUser())
但是,在控制器内部,您应该能够通过执行以下操作来获取用户:
$this->getUser();