我有一个基本的身份验证管理。
基本上我有3张桌子:
users (App\User)
+ id
+ email
+ pass
groups (App\Group)
+ id
+ name
user_groups (App\UserGroup)
+ id
+ user_id
+ group_id
很可能中间表是" user_group"表。 有了这个,我有一个非常容易的帖子系统与"组" :
posts (App\Post)
+ id
+ name
+ content
post_groups (App\PostGroup)
+ id
+ post_id
+ group_id
我想让用户只看到没有" group"的帖子或仅当用户拥有相关的帖子组时。
Laravel Eloquent或SQL是否合适?例如:
Posts::where(... logic here ...)
感谢。
答案 0 :(得分:0)
如果您为帖子和群组设置了雄辩的关系,则可以获得没有群组关系的帖子,如下所示:
Posts::hasNot('group')->get();
要获取用户拥有该组的帖子,您可以创建高级where子句或执行联接以过滤掉您的查询结果。
类似的东西:
Posts::has('group')->whereIn('group.user', Auth::user()->id);