public function getLike($postsId) { $posts = Posts::find($postsId); if (!$posts) { return redirect()->route('home'); } if (!Auth::user()->isFriendWith($posts->user)) { return redirect()->route('home'); } if (Auth::user()->hasLikedPosts($posts)) { $posts->likes()->where('user_id', Auth::id())->first()->delete(); return response()->json(['number_of_likes' => $posts->likes->count()]); // return redirect()->back(); } $like = $posts->likes()->create([]); Auth::user()->likes()->save($like); $number_of_likes = $posts->likes->count(); event(new PostWasLiked(Auth::user()->getName(), $posts->id, $number_of_likes)); return response()->json(['number_of_likes' => $number_of_likes]); // return redirect()->back(); }
/** * Get the channels the event should be broadcast on. * * @return array */ public function broadcastOn() { $user_id = Posts::find($this->post_id)->user_id; return ['user.' . $user_id]; }