categoryLiveEvents(21) ->first(); $theatre = Category::where('view_type','theatre') ->categoryLiveEvents(6) ->first(); $musical =Category::where('view_type','concert') ->categoryLiveEvents(12) ->first(); $sliders = Slider::where('active',1)->get(); //dd($cinema->events->first()); return view('Bilettm.Public.HomePage')->with([ 'cinema' => $cinema, 'theatre' => $theatre, 'musical' => $musical, 'sliders' => $sliders ]); } public function showEvents($cat_id = null, Request $request){ $date = $request->get('date'); //$cat_id = $request->get('cat_id'); $e_query = Event::onLive(); $nav_query = Category::select('id','title_tm','title_ru','parent_id') ->orderBy('lft','asc'); $category = null; if(!empty($cat_id)){ $category = Category::findOrFail($cat_id); if($category->parent_id > 0){ $e_query->where('sub_category_id',$category->id); $nav_query->where('parent_id',$category->parent_id); } else{ $e_query->where('category_id',$category->id); $nav_query->where('parent_id',$category->id); } }else{ $nav_query->main(); } if(!empty($date)){ $e_query->whereDate('start_date','>=',Carbon::parse($date)); } $events = $e_query->with('images')->paginate(5); $navigation = $nav_query->get(); // dd($events); return view('Bilettm.Public.EventsPage')->with([ 'events' => $events, 'category' => $category, 'navigation' => $navigation ]); } public function showCategoryEvents($cat_id, Request $request){ $date = $request->get('date'); $popular = $request->get('popular'); $category = Category::select('id','title_tm','title_ru','view_type','events_limit','parent_id') ->findOrFail($cat_id); if($category->parent_id>0){ $events = $category->cat_events() ->onLive() ->orderBy($popular ? 'start_date' : 'views') ->get(); return view("Bilettm.EventsList.subCategoryList")->with([ 'category' => $category, 'events' => $events ]); } else{ $subCats = $category->children() ->withLiveEvents($date,$category->events_limit,$popular) ->get(); // $events = $e_query->with('images')->paginate(5); // dd($subCats->first()->cat_events); return view("Bilettm.EventsList.".$category->view_type)->with([ 'sub_cats' => $subCats, 'category' => $category, ]); } } public function search(SearchRequest $request){ //todo implement with elastick search and scout $query = $request->get('q'); $events = Event::where('title','like',"%{$query}%")->paginate(10); return view('Bilettm.Public.SearchResults') ->with([ 'events' => $events, 'query' => $query ]); } public function postAddEvent(AddEventRequest $request){ $addEvent = EventRequest::create([ 'name' => $request->get('name'), 'email' => $request->get('email'), 'phone' => $request->get('phone'), 'detail' => $request->get('detail') ]); return view('Bilettm.Public.AddEventResult',compact('addEvent')); } public function subscribe(SubscribeRequest $request){ $email = $request->get('email'); //todo validate email $subscribe = Subscriber::updateOrCreate(['email'=>$email,'active'=>1]); if($subscribe){ session()->flash('message','Subscription successfully'); } return response()->json([ 'status' => 'success', 'message' => 'Subscription successfully', ]); } }