【发布时间】:2021-08-31 19:55:20
【问题描述】:
只需在字段名称前加上 # 前缀
我正在使用 Laravel Breeze,它默认将 password 和 remember_token 字段设置为隐藏。
class User extends Authenticatable
{
use HasFactory, Notifiable;
protected $fillable = [
'username',
'email',
'password',
];
protected $hidden = [
'password',
'remember_token',
];
protected $casts = [
'email_verified_at' => 'datetime',
];
}
但是,如果我在 Tinker 中获取运行 User::inRandomerOrder()->first() 的用户实例,我仍然能够看到这些假定的隐藏字段。
App\Models\User {#4440
id: 14,
username: "verdie10",
email: "jerrold.ziemann@example.org",
email_verified_at: "2021-08-31 11:19:47",
#password: "$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi",
#remember_token: "F87k6RPxgi",
created_at: "2021-08-31 11:19:47",
updated_at: "2021-08-31 11:19:47",
},
【问题讨论】:
-
使用
->toArray()