$this->primaryId(), 'likedable_type' => get_class(), ]); $likerable->Likers()->save($Likers); return $Likers; } // 取消点赞 public function dislike(Likerable $likerable) { $result = Liker::where('likedable_id',$this->primaryId()) ->where('likedable_type',get_class()) ->where('like_id',$likerable->primaryId()) ->where('like_type', get_class($likerable)) ->delete(); return $result; } //点赞列表 public function likers(): MorphMany { return $this->morphMany(Liker::class,'likedable'); } // 是否点赞 public function hasLiked(Likerable $likerable) { $result = Liker::where('likedable_id',$this->primaryId()) ->where('likedable_type',get_class()) ->where('like_id',$likerable->primaryId()) ->where('like_type', get_class($likerable)) ->exists(); return $result; } }