Simply prefixes a # to the field name
I am using Laravel Breeze, which by default sets the password
and remember_token
fields to hidden.
class User extends Authenticatable
{
use HasFactory, Notifiable;
protected $fillable = [
'username',
'email',
'password',
];
protected $hidden = [
'password',
'remember_token',
];
protected $casts = [
'email_verified_at' => 'datetime',
];
}
However if I fetch a User instance running User::inRandomerOrder()->first()
inside Tinker I am still able to see these supposed hidden fields.
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",
},