public function getAdsType($idPost, $value = null) { $dataAds = PuAds::join('pu_types as t', 'pu_ads.pu_type_id', '=', 't.id')->leftJoin('pu_comments as comment', 'pu_ads.id', '=', 'comment.pu_ad_id')->leftJoin('pu_likes as likes', 'pu_ads.id', '=', 'likes.pu_ad_id')->select('pu_ads.*', 't.*', DB::raw('count(comment.id) as comentario'), DB::raw('count(likes.id) as likes'))->where('pu_ads.id', '=', $idPost)->where('pu_ads.flagactive', '=', 1); if ($value) { switch ($value) { case 1: $dataAds = $dataAds->where('likes.flagactive', '=', 1); break; case 2: $dataAds = $dataAds->where('comment.flagactive', '=', 1); break; } } $dataAds = $dataAds->first(); return $dataAds; }