public function ajaxTagsRequest()
 {
     $query = Input::get('query');
     $tags = Tag::select("id", "name")->where("name", "LIKE", "%" . $query . "%")->get();
     $temp = array();
     foreach ($tags as $tag) {
         $temp[] = $tag->name;
     }
     return json_encode($temp);
 }
 public function getIndex()
 {
     $view = view('assets.list');
     if (\Request::has('tags')) {
         $tags = explode(',', \Request::get('tags'));
         array_walk($tags, function (&$value, $key) {
             $value = trim($value);
         });
         // TODO: Make search tags as AND instead of OR
         $assetIDs = \App\Models\Tag::select('media.id')->join('taggables', 'taggables.tag_id', '=', 'tags.id')->join('media', function ($join) {
             $join->on('media.id', '=', 'taggables.taggable_id')->where('taggables.taggable_type', '=', 'App\\Models\\Media');
         })->whereIn('tags.name', $tags)->groupBy('media.id')->lists('id');
         $assets = \App\Models\Media::whereIn('id', $assetIDs);
         foreach ($tags as $tag) {
             //$assets = $assets->orWhere('name', 'LIKE', '%'.$tag.'%');
         }
         $view->assets = $assets->paginate(24);
     } else {
         $view->assets = \App\Models\Media::paginate(24);
     }
     return $view;
 }