2014-02-06 53 views
2

我試圖獲取實體內的用戶對象。我使用FosUserBundle和PugxMultiUserBundle,我嘗試了以下命令:獲取實體內的用戶對象

container->get('fos_user.user_manager')->getToken()->getUser(); 

,但我得到:

Undefined property $container 

我怎樣才能解決呢?

謝謝你的幫助。

不工作的功能是一個實體的內部,並且是:@OP編輯後

protected function getUploadDir() 
{ 
    $userManager = $this->container->get('security.context'); 
    $user = $userManager->findUserByUsername($this->container->get('security.context') 
       ->getToken() 
       ->getUser()); 
    return 'uploads/'.$user; 
} 
+0

在添加一個$符號開始。 – Shocked

+0

@Shocked我試過了,我得到'Undefined variable:container' – user3279754

+0

實體無權訪問容器。您需要將用戶對象傳遞給實體。 – Cerad

回答

0

UPDATE ...

您不能訪問容器(因此的UserManager )來自實體。實體不應該訪問容器本身。


您在您的變量名稱前缺少$

但是這還不是全部,控制器內的解決方案:

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

但是,控制器裏面,你應該能夠做讓用戶執行以下操作:

$this->getUser(); 
+0

除非他試圖將其放入實體中。 – Cerad

+0

他剛剛更新了他的頭銜............我會更新我的.. – Brice

+0

@Brice好的謝謝你,抱歉的混亂。所以,如果我真的需要在控制器內部獲得這些信息,我應該做一個數組相關,不是嗎? – user3279754

相關問題