在视图中,我想显示链接的值,但不能显示所有链接的值,因为它们取决于用户访问权限。
要做到这一点,我只需要使用 - > where(' user',$ user)进行leftJoin。问题是......如何从ParamConverter中将当前用户注入存储库?
答案 0 :(得分:1)
假设你正在使用Doctrine,这应该可行;
在您的控制器中;
$objRepo = $this->getDoctrine()->getManager()->getRepository('AppBundle:Objects');
$files = $this->objRepo->getAllForUserId($this->getUser()->getId());
在你的回购文件中;
public function getAllForUserId($user_id, $limit=100)
{
if (null === $user_id) {
throw new ORMInvalidArgumentException('User id not set');
}
$queryBuilder = $this->createQueryBuilder('obj');
$queryBuilder->select(array('obj', 'usr'))
->innerJoin('obj.users', 'usr')
->where('usr.id = :user_id')
->setParameter(':user_id', $user_id)
->orderBy('file.created', Criteria::DESC);
$query = $queryBuilder->getQuery();
return $query->getResult();
}