thinkphp5.0 隐藏模型字段

原结果

删除模型字段(不推荐使用)

class Banner
{
    public function getBanner($id)
    {
        $validate = new IDMustBePositiveInt();
        $validate->goCheck();
        $banner = BannerModel::getBannerById($id);
        //返回的因为是受保护的类型,不能直接访问其成员,要先转成数组
        $data = $banner->toArray();
        unset($data['dalete_time']); //删除delete_time字段
        if (!$banner) {
            throw new BannerMissException();
        }
        return $data;
    }
}

模型的方法

class Banner
{
    public function getBanner($id)
    {
        $validate = new IDMustBePositiveInt();
        $validate->goCheck();
        $banner = BannerModel::getBannerById($id);
        if (!$banner) {
            throw new BannerMissException();
        }
        //传进一个要隐藏的字段数组
        $banner->hidden(['delete_time', 'update_time']) 
        //传进一个只显示的字段数组
        // $banner->visible(['id']) 
        return $banner;
    }
}

查看返回结果

在模型内部隐藏字段

applicationapimodelBanner.php

class Banner extends Model
{
    protected $hidden = ['id']; // visible方法也可用
}

查看返回结果

原文地址:https://www.cnblogs.com/Qyhg/p/14756722.html