2

我有一个User实体类,用于身份验证提供程序:

/**
 * @ORM\Entity(repositoryClass="Aurora\LikeBundle\Entity\UserRepository")
 */
class User implements AdvancedUserInterface
{
    ...
}

UserRepository我有一个自定义方法getServices()。在我的控制器中,我可以通过调用访问当前用户$this->container->get('security.context')->getToken()->getUser()- 但它只返回用户对象(带有 setter 和 getter),没有存储库方法。

如何从安全上下文中访问它们?

4

1 回答 1

4

Respository 与任何特定的 Entity 对象无关。它与整个实体类有关。所以你有 User 实体的 UserRepository 但是 $user 对象的 UserRepository 没有多大意义。

如果您想获取某个实体(例如用户实体)的存储库,您可以这样做:

$repository = $this->getDoctrine()->getRepository('AuroraLikeBundle:User');

并使用它:

$repository->getServices(); // or
$repository->getServices($userId);
于 2012-09-07T10:32:54.210 回答