author_of_blog_post() ->distinct() ->orderBy('updated_at', 'desc') ->limit(5) ->get(); $profileViewsCount = views($user)->unique()->count(); $totalLikes = 0; $totalLikes += $user->author_of_plans()->distinct()->get()->sum('likes_count'); $totalLikes += $user->author_of_diets()->distinct()->get()->sum('likes_count'); $totalLikes += $user->author_of_blog_post()->distinct()->get()->sum('likes_count'); $totalLikes += $user->author_of_recipe()->distinct()->get()->sum('likes_count'); return view( 'profile.index', [ 'user' => $user, 'userPosts' => $userPosts, 'totalLikes' => $totalLikes, 'profileViewsCount' => $profileViewsCount, ] ); } public function show(User $user): View|ViewFactory { $expiresAt = now()->addHours(24); $userPosts = $user ->author_of_blog_post() ->distinct() ->orderBy('updated_at', 'desc') ->limit(5) ->get(); views($user)->cooldown($expiresAt)->record(); $profileViewsCount = views($user)->unique()->count(); $totalLikes = 0; $totalLikes += $user->author_of_plans()->distinct()->get()->sum('likes_count'); $totalLikes += $user->author_of_diets()->distinct()->get()->sum('likes_count'); $totalLikes += $user->author_of_blog_post()->distinct()->get()->sum('likes_count'); $totalLikes += $user->author_of_recipe()->distinct()->get()->sum('likes_count'); return view( 'user.show', [ 'user' => $user, 'userPosts' => $userPosts, 'totalLikes' => $totalLikes, 'profileViewsCount' => $profileViewsCount, ] ); } }