[英]Symfony2 Accessing User Entity Custom repository from Security Token
我有一個User
實體類,該類用於身份驗證提供程序:
/**
* @ORM\Entity(repositoryClass="Aurora\LikeBundle\Entity\UserRepository")
*/
class User implements AdvancedUserInterface
{
...
}
在UserRepository
我有一個自定義方法getServices()
。 在我的控制器中,我可以通過調用$this->container->get('security.context')->getToken()->getUser()
來訪問當前用戶-但它僅返回用戶對象(帶有setter和getters)沒有存儲庫方法。
如何從安全上下文訪問這些內容?
儲存庫與任何特定的Entity對象都不相關。 它與整個Entity類有關。 因此,您具有User實體的UserRepository,但$ user對象的UserRepository沒有多大意義。
如果要獲取某個實體(例如,用戶實體)的存儲庫,則可以這樣做:
$repository = $this->getDoctrine()->getRepository('AuroraLikeBundle:User');
並使用它:
$repository->getServices(); // or
$repository->getServices($userId);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.