public function getIndex() { // ------------------------------------------------------------------------------------------------------------ // FILTERS // ------------------------------------------------------------------------------------------------------------ $filters['name'] = Input::get('filter_place_name'); $filters['destination'] = Input::get('filter_destination_id'); // ------------------------------------------------------------------------------------------------------------ // QUERY PLACE // ------------------------------------------------------------------------------------------------------------ $places = $this->model->NameLike('*' . str_replace(' ', '*', $filters['name']) . '*')->InDestinationByIds(\App\Destination::withSubtreeById($filters['destination'])->get()->lists('id')->toArray())->latest()->paginate(30); // ------------------------------------------------------------------------------------------------------------ // QUERY DESTINATION // ------------------------------------------------------------------------------------------------------------ $destinations = \App\Destination::orderBy(\App\Destination::getPathField()); if ($filters['destination']) { $filtered_destination = \App\Destination::find($filters['destination']); } // ------------------------------------------------------------------------------------------------------------ // SHOW DISPLAY // ------------------------------------------------------------------------------------------------------------ $this->layout->page = view($this->page_base_dir . 'index')->with('route_name', $this->route_name)->with('view_name', $this->view_name); $this->layout->page->filters = $filters; $this->layout->page->places = $places; $this->layout->page->required_images = $this->required_images; $this->layout->page->destinations = $destinations; $this->layout->page->filtered_destination = $filtered_destination; return $this->layout; }
/** * Run the database seeds. * * @return void */ public function run() { $top_tours = DB::select("select d.id, count(ts.id) as aggregate\n\t\t\t\t\t\t \tfrom destinations d \n join destination_tour dt on dt.destination_id = d.id\n join tours t on t.id = dt.tour_id\n join tour_schedules ts on ts.tour_id = t.id\n\t\t\t\t\t\t \tgroup by d.id\n\t\t\t\t\t\t \torder by aggregate desc\n\t\t\t\t\t\t \tlimit 12"); foreach ($top_tours as $k => $x) { $destination = \App\Destination::find($x->id); $headline = new \App\HomegridSetting(['name' => 'homegrid_' . ($k + 1), 'since' => \Carbon\Carbon::now()]); $headline->type = 'destination'; $headline->is_featured = rand(0, 100) < 30 ? true : false; $headline->title = $destination->name; $headline->destination = $destination->id; $headline->image_url = 'http://localhost:8000/images/43/' . ($k + 1) . '.jpg'; if (!$headline->save()) { dd($headline->getErrors()); } } }
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { Destination::find($id)->delete(); return redirect('/admin/destination'); }
public function getDestinationDetailAttribute() { if (!$this->attributes['destination_detail']) { $destination_id = $this->destination; $tmp = \App\Destination::find($destination_id); $this->attributes['destination_detail'] = $tmp; } return $this->attributes['destination_detail']; }