*/ use HasFactory, Notifiable; /** * The attributes that are mass assignable. * * @var list */ protected $fillable = [ 'name', 'email', 'password', "username", "picture", "bio", "type", "status" ]; /** * 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' => 'hashed', "status" => UserStatus::class, "type" => UserType::class, ]; } public function getPictureAttribute($value) { return $value ? asset("/images/users/".$value) : asset("/images/users/default-avatar.png"); } public function social_links() { return $this->hasOne(UserSocialLink::class, "id", "user_id"); } public function getTypeAttribute($value) { return $value; } public function posts() { return $this->hasMany(Post::class, 'author_id', 'id'); } }