public function tag($tagName)
 {
     $query = Confession::select('confessions.*')->leftJoin('confession_tags', 'confessions.confession_id', '=', 'confession_tags.confession_id')->leftJoin('tags', 'confession_tags.confession_tag_id', '=', 'tags.confession_tag_id')->where(function ($query) use($tagName) {
         $query->where('tags.confession_tag', '=', "#{$tagName}")->orWhere('confessions.confession_id', '=', $tagName);
     })->orderBy('status_updated_at', 'DESC')->approved()->with('favourites')->with('categories');
     if (intval(\Input::get('count')) == 0) {
         $count = self::MAX_TAG_COUNT;
     } else {
         $count = min(intval(\Input::get('count')), self::MAX_TAG_COUNT);
     }
     if (\Input::get('timestamp')) {
         $query->whereRaw('UNIX_TIMESTAMP(status_updated_at) <= ?', [\Input::get('timestamp')]);
     }
     $query->take($count);
     if (intval(\Input::get('offset')) > 0) {
         $query->skip(intval(\Input::get('offset')));
     }
     $confessions = $query->distinct()->get();
     foreach ($confessions as $confession) {
         $confession->status_updated_at_timestamp = $confession->status_updated_at->timestamp;
         $confession->getFacebookInformation();
     }
     return \Response::json(['data' => ['confessions' => $confessions]]);
 }