2016-05-27 40 views
-1

如何獲取當前用戶的電子郵件地址?獲取代表當前用戶的實體[symfony2]

檢索用戶名或用戶ID很容易,但我沒有找到任何解釋如何獲取當前使用的電子郵件地址的示例。

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

      $entity->setUsername($usr); 
+0

您可以創建一個查詢來使用Id獲取當前用戶的電子郵件。但我不知道這是否是最簡單的方法 – Letsrocks

回答

2

在控制器(擴展symfony的控制器)

$this->getUser(); 

對於服務你需要注入security.token_storage服務,並使用

$this->tokenStorage()->getToken()->getUser() 

TokenStorage ::爲gettoken()能返回null,考慮它!