我正在使用symfony2,doctrine,knp paginator和安全选民。 在我的应用程序中,每个用户都有一些孩子。我应该显示属于当前用户的子列表(由当前登录用户定义)。
所以我创建了一个安全选民,只允许用户访问自己的孩子。它完全适用于那种情况:
if ($this->get('security.context')->isGranted('view', $child))
或
{% for entity in pagination if app.security.isGranted('view', child) %}
您可以想象,paginator无法正常工作,因为我只是不在当前页面显示子项。因此,我的分页器变成了垃圾。
我看到两种可能的解决方案:
我意识到我可以修改我的查询,添加类似 - > andWhere('c.parent ==:user')的内容,但这个listig工具非常通用,用于列出dosens不同的关系,如用户子,用户组 - 城镇订单,用户 - 后标签,用户电影
感谢您的考虑