模型隐藏字段批量调用应该如何做,看我这样错在哪里

浏览:368 发布日期:2018/09/20 分类:求助交流 关键字: 隐藏,hidden
先说下场景,前后台公用一个模型,后台调用模型的数据时数据要全显示,但前台调用模型的一些数据时,字段的一些关键信息比如key等想隐藏。
本来在控制器里可以这么写$model = ArticleModel::detail($article_id);
        //隐藏一些安全字段再输出
        $detail = $model->hidden(['status','wxapp_id', 'create_time','update_time'])->toArray();
但由于前台访问的数据和控制器太多了,都这样写觉得麻烦,
想封装个方法。就跑到ArticleModel模型里写了这么个方法 /**
     * 返回前台数据,过滤掉一些不该显示的
     * @param array $data
     * @return bool
     */
     public function getApidata(){
        $this ->hidden(['status','wxapp_id', 'create_time','update_time']);
        return  $this;
    }
然后都这样调用,$model = ArticleModel::detail($article_id);
        $detail = $model->getApidata();
当然,这肯定是报错的,虽然我也预感要报错。
所谓基础不牢,地动山摇,我想问问各位,如果我要实现前台的数据过滤,应该怎么写呢?
当然,不要建议我模块分前后端,因为我环境限制,不可能加减模块了,只能原基础上改造,各位说说该怎么改呢?
最佳答案
评论( 相关
后面还有条评论,点击查看>>