不同用户访问同一个接口时返回不同的数据这个具体要怎么实现

有没有大佬解答一下,目前数据量已经很大了,几万条数据,然后突然有了这个需求,自己想到的方法就是,每条数据加字段区分不同用户,但感觉好像不太现实也有点不合理

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 4

首先需要确认返回什么样的数据?数据跟用户的关系是怎么样的?为什么要区分?然后再想办法改

4年前 评论
RayFong_Chan (楼主) 4年前

既然没有关联,为了保护敏感数据,是不是可以考虑都不显示,然后再想办法处理这批用户里边群体比较少的那一部分人,让可以看到敏感数据的人以其他方式或者其他地方可以看到这些数据。

4年前 评论
RayFong_Chan (楼主) 4年前

用APIResource,在里面判断用户权限,然后增减要显示的内容。

当然,也可以在获取数据之前判断,然后在select方法里传入不同的参数。

4年前 评论
RayFong_Chan (楼主) 4年前

相对笨的方法, 做一个service 然后把用户传进去 service const USER_TYPE_RELATION = [1=>[['type'=>1,'status'=>2],2=>['type'=>2]]; //todo 此处可以定义一个filed 依次类推,然后你做条件的时候可以直接用用户的类型获取条件和字段 并且可随时替换 更改 一目了谈 楼上的apiresource其实是更好的方案 不过我不会啊 我也很绝望啊

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!