laravel eloquent collection 自定义隐藏字段

laravel 执行eloquent隐藏字段的方式比较多,一般我们常用的是在eloquent模型中定义好$hidden来进行隐藏,例如:

 protected $hidden = ['id', 'updated_at', 'deleted_at'];

以上方式是我们自动执行eloquent模型就会自动隐藏这些字段。

如果我们在执行eloquent的时候想暂时隐藏某些字段,例如隐藏’created_at’,可以通过eloquent,collection的makeHidden函数来进行实现,如下:

$result = self::where([
            'status' => 1
        ])->get()->makeHidden(['created_at']);

laravel api接口

https://laravel.com/api/5.5/Illuminate/Database/Eloquent/Collection.html

如果想把定义的隐藏字段显示,可以执行下面的:

$result = self::where([
            'status' => 1
        ])->get()->makeVisible(['created_at']);

另外针对eloquent模型的隐藏某些字段可以如下:

$result = self::where([
            'id' => 1
        ])->first()->makeHidden(['updated_at']);

显示字段:

$result = self::where([
            'id' => 1
        ])->first()->makeVisible(['updated_at']);

以上方法可以灵活的去定义我们在查询数据时某些字段的隐藏与显示。

本文已经被查看488次

发表评论

电子邮件地址不会被公开。 必填项已用*标注