Ejemplo n.º 1
0
 public function searchportals($keyword, $datefrom, $dateto, $portal)
 {
     $keyword = '%' . $keyword . '%';
     if ($datefrom == NULL || $dateto == NULL) {
         $search_items = results::where('content', 'LIKE', $keyword)->whereIn('portal', $portal)->orderBy('total_shares', 'desc')->get(['url', 'portal', 'page_title', 'date', 'fb_likes', 'fb_shares', 'fb_comments', 'gp_shares', 'total_shares']);
     } else {
         $datefrom = preg_replace('#\\/#', '-', $datefrom);
         $dateto = preg_replace('#\\/#', '-', $dateto);
         $search_items = results::where('content', 'LIKE', $keyword)->where(function ($query) use($datefrom, $dateto) {
             $query->whereBetween('date', [$datefrom, $dateto])->orWhere('date', '=', NULL);
         })->whereIn('portal', $portal)->orderBy('total_shares', 'desc')->get(['url', 'portal', 'page_title', 'date', 'fb_likes', 'fb_shares', 'fb_comments', 'gp_shares', 'total_shares']);
     }
     $fb_likes = $search_items->sum('fb_likes');
     $fb_shares = $search_items->sum('fb_shares');
     $fb_comments = $search_items->sum('fb_comments');
     $gp_shares = $search_items->sum('gp_shares');
     $total_shares = $search_items->sum('total_shares');
     $social_stats = array('fb_likes' => $fb_likes, 'fb_shares' => $fb_shares, 'fb_comments' => $fb_comments, 'gp_shares' => $gp_shares, 'total_shares' => $total_shares);
     $this->update_social_count($social_stats);
     return $search_items;
 }