id; } public function user() { return $this->belongsTo(User::class); } // public function tags(): MorphToMany // { // return $this->morphToMany(Tag::class, 'taggable')->withTimestamps()->withPivot('user_id'); // } public function images(): MorphMany { return $this->morphMany(Image::class, 'imageable'); } public function coverImage(): MorphOne { return $this->morphOne(Image::class, 'imageable') ->orderBy('id', 'desc') ->where('location', 'cover') ->withDefault(function ($userImage) { $userImage->path = 'images/default-cover.jpg'; }); } public function thumbnailImage(): MorphOne { return $this->morphOne(Image::class, 'imageable') ->orderBy('id', 'desc') ->where('location', 'cover-small') ->withDefault(function ($userImage) { $userImage->path = 'images/default-cover.jpg'; }); } }