Получить объект пользователя внутри объекта

Я пытаюсь получить объект пользователя внутри объекта. Я использую 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;
}

1 ответ

Решение

ОБНОВЛЕНИЕ после @OP отредактировано...

Вы не можете получить доступ к контейнеру (следовательно, userManager) из сущности. Сущность не должна обращаться к самому контейнеру.


Вам не хватает $ перед именем вашей переменной.

Но это еще не все, решение внутри контроллера:

$userManager = $this->container->get('fos_user.user_manager');
$user = $userManager->findUserByUsername($this->container->get('security.context')
                    ->getToken()
                    ->getUser())

Но внутри контроллера вы сможете получить пользователя, выполнив следующие действия:

$this->getUser();
Другие вопросы по тегам