Laravel 5.1.11 ACL - 如何根据策略

时间:2015-09-14 16:24:51

标签: laravel laravel-5.1

我有一个帖子列表,该列表应仅显示给有限的用户。所以我有一个策略“view-posts”,根据某些条件返回'true'。我可以使用允许拒绝方法来禁止访问某些帖子。

但是,如何返回哪些用户有权访问的帖子列表(使用Eloquent),而不重复策略中定义的条件?

1 个答案:

答案 0 :(得分:0)

这样做的最佳方式是为帖子和用户提供多对多的关系。然后,你可以做一些事情,比如:

User::where('id', 1)->posts;

获取用户与之有关系的帖子列表(或者,在这种情况下,有权访问)。

每个用户都会与很多帖子相关联,每个帖子都会与很多用户相关联。该策略可以实现这一点,您不需要复制策略来生成列表。