首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写一个查询来获取laravel中的记录?使用角色

如何编写一个查询来获取laravel中的记录?使用角色
EN

Stack Overflow用户
提问于 2020-10-15 16:39:14
回答 1查看 47关注 0票数 0

我想如果订单接受者是登录的,那么在$areas中创建他自己的区域,并创建他的管理员(角色= 1)或子管理员(角色=2

我有3个表:(1.用户2.区域3.订单者)

我有3个角色:(1.admin 2. sub-admin 3.订单管理员)

管理员和子管理员可以创建(订单接受者和区域),订单接受者也可以创建(区域)

每个订单者都与用户表中的ot_of相关联(对于管理员(Id)和子管理员(Id))

每个区域都与created_by关联

我们需要执行第一个检查哪个订单者登录的步骤

代码语言:javascript
复制
if(Auth::user()->role == 1 ){
either ot_of (admin(ordertaker) role = 1 or subadmin(ordertaker) role = 2)
if{
then get area if ot_of belongs to admin then get both area created_by(ordertaker and admin)  
}else
{
then get area if ot_of belongs to sub-admin then get both area created_by(order taker and sub-admin)  

}
}

我如何写这个查询每个人都用一个唯一的id唯一标识现在我正在使用这个代码得到区域

代码语言:javascript
复制
 $idss = [Auth::id()];
        if (Auth::user()->role < 3) {
            $idss = array_merge($idss, User::where('ot_of', Auth::id())->pluck('id')->toArray());
        }
        $fitered_area = Area::all();
        $allareas = $fitered_area->whereIn('created_by', $idss);

但问题是,如果订单者是登录,他不能访问他的管理区,因为他没有创建它

EN

回答 1

Stack Overflow用户

发布于 2020-10-16 10:08:08

如果我可以为您的问题提供一个更动态的解决方案,请查看Laravel Permissions

以这种方式对角色和权限进行硬编码,很快就会纠缠在一起。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64367834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档