*/ protected $fillable = [ 'name', 'email', 'password', 'image', 'bio' ]; protected $appends = [ 'image_path' ]; /** * The attributes that should be hidden for serialization. * * @var array */ protected $hidden = [ 'password', 'remember_token', ]; /** * The attributes that should be cast. * * @var array */ protected $casts = [ 'email_verified_at' => 'datetime', 'password' => 'hashed', ]; //users that this user follows public function followings() { return $this->belongsToMany(User::class, 'followers', 'follower_id', 'following_id'); } //users that follow this user public function followers() { return $this->belongsToMany(User::class, 'followers', 'following_id', 'follower_id'); } public function articles() { return $this->hasMany(Article::class)->published(); } public function getImagePathAttribute() { if ($this->image) { return asset($this->image); } return 'https://cdn.pixabay.com/photo/2017/11/10/05/48/user-2935527_1280.png'; } }