我有一个帖子列表,该列表应仅显示给有限的用户。所以我有一个策略“view-posts”,根据某些条件返回'true'。我可以使用允许或拒绝方法来禁止访问某些帖子。
但是,如何返回哪些用户有权访问的帖子列表(使用Eloquent),而不重复策略中定义的条件?
答案 0 :(得分:0)
这样做的最佳方式是为帖子和用户提供多对多的关系。然后,你可以做一些事情,比如:
User::where('id', 1)->posts;
获取用户与之有关系的帖子列表(或者,在这种情况下,有权访问)。
每个用户都会与很多帖子相关联,每个帖子都会与很多用户相关联。该策略可以实现这一点,您不需要复制策略来生成列表。