*/ use HasFactory, Notifiable; /** * The attributes that are mass assignable. * * @var list */ protected $fillable = [ 'name', 'email', 'password', 'role', 'phone', 'address', ]; /** * The attributes that should be hidden for serialization. * * @var list */ protected $hidden = [ 'password', 'remember_token', ]; /** * Get the attributes that should be cast. * * @return array */ protected function casts(): array { return [ 'email_verified_at' => 'datetime', // Password tidak memakai cast 'hashed': nilai di DB selalu hasil Hash::make() (bcrypt) // agar seeder & kode lain konsisten dan Auth::attempt('password_plain') pasti cocok. ]; } public function carts() { return $this->hasMany(Cart::class); } public function transactions() { return $this->hasMany(Transaction::class); } public function isAdmin(): bool { return $this->role === 'admin'; } }