예제 #1
0
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index(Request $request)
 {
     $data['tags'] = Tag::whereHas('events', function ($query) {
         $query->upcoming();
     })->orderBy('name')->get();
     if (!$request->tags) {
         $data['events'] = Event::with('venue', 'tags')->upcoming()->simplePaginate(10);
     } else {
         $events = Event::with('venue');
         foreach (explode(',', $request->tags) as $tag) {
             $events->whereHas('tags', function ($query) use($request, $tag) {
                 $query->where('slug', $tag);
             });
         }
         $data['events'] = $events->upcoming()->simplePaginate(10)->appends(['tags' => $request->tags]);
     }
     return view('events.index', $data);
 }