Eloquent 分页后,通过 makeVisible 方法显示隐藏字段,分页内容消失了

先码再说

  public function index(Request $request)
    {
        //搜索服务
        $searcher = new SearchesService();
        //判断用户
        if ($this->is_login() && $this->isInstitutions()) {
            //获取query的builder
            $builder = $searcher->teachersSearcher($request, false, true);//第三个为true 返回Querybuilder

            //$builder->paginate(); 返回的类型为AbstractPaginator
            //$builder->paginate()->makeVisible(['img_list']); 返回的类型为Collection 分页的内容消失了

            return new BaseCollection($builder->paginate());
        }

        return $searcher->teachersSearcher($request,false);
    }

因为img_list是敏感内容,某些用户登录了之后,才能显示出来。所以在TeacherModel对该字段设置了隐藏。我是不是去修改makeVisible的方法,让其返回的类型也是 AbstractPaginator ?

Justin_change
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

楼主解决了没,我现在也遇到同样的问题了

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

试试这种方式?在使用的分页的情况下隐藏部分字段

$paginator = Supplier::query()
                     ->paginate($request->input('per_page', 10));
$paginator->data = $paginator->makeHidden(['id']);
return $paginator;
3年前 评论
苏亦坤 (作者) 2年前
Sparks 2年前
Sparks 2年前

有个方法可以实现,看图

file

makeVisiable()makeHidden()前先用get()方法获取,然后在之后paginate()即可

3年前 评论
苏亦坤 2年前

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