我有一个表“ posts”,通常有“ id,title,content,...,deleted_for_organization”列
其他表格:具有ID,名称,描述的组织
用户:ID,名称,电子邮件,密码,organization_id
当前,我将组织ID以json数组格式(例如[1,2,3])存储在Deleted_for_organization列中。这表示该帖子已被这些组织删除,并且对任何组织成员都不可见。
现在,每当请求加载所有帖子时,我只希望那些没有雄辩地对其组织删除的帖子。
这是可能的,还是我需要创建另一个数据透视表来维护诸如许多之类的关系。
在浏览laravel雄辩的文档时,我遇到了
$posts = App\Post::whereDoesntHave('comments', function ($query) {
$query->where('content', 'like', 'foo%');
})->get();
但是,我不知道这是否适合我的问题。
答案 0 :(得分:0)
使用此代码检索所有尚未删除的帖子。然后将$ undeletedPosts传递到您的刀片视图文件,并通过它们的foreach()循环遍历您想要的数据。这应该可以,请告诉我是否适合您。
auto
答案 1 :(得分:0)
这就是您要寻找的东西。
$posts = Post::whereRaw("not json_contains(deleted_for_organization , '[".Auth::user()->organization_id."]') OR deleted_by_org is NULL")->get();