Laravel 8 隐藏 JSON 属性
有时要将模型数组或 JSON 中的某些属性进行隐藏,比如密码,则可以在模型中添加 $hidden
属性:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* 数组中的属性会被隐藏
*
* @var array
*/
protected $hidden = ['password'];
}
注意:隐藏关联时,需使用关联的方法名。
此外,也可以使用属性 $visible
定义一个模型数组和 JSON 可见的白名单。转化后的数组或 JSON 不会出现其他的属性:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* 数组中的属性会被展示
*
* @var array
*/
protected $visible = ['first_name', 'last_name'];
}