where('is_temporer', 0) ->orWhere(function ($query) { $query->where('is_temporer', 1) ->where('event_berakhir', '>=', now()); }); })->get(); $event->transform(function ($e) { $e->event_mulai_tanggal = Carbon::parse($e->event_mulai)->translatedFormat('d F Y'); $e->event_berakhir_tanggal = Carbon::parse($e->event_berakhir)->translatedFormat('d F Y'); $e->event_mulai_waktu = Carbon::parse($e->event_mulai)->format('H:i'); $e->event_berakhir_waktu = Carbon::parse($e->event_berakhir)->format('H:i'); $e->htm_event = number_format($e->htm_event, 0, ',', ''); return $e; }); $wisata = DataWisata::all(); $filterWisata = DataWisata::with('kategori_detail.kategori') ->inRandomOrder() ->limit(4) ->get(); return view('pengunjung.beranda', compact('event', 'wisata', 'filterWisata')); } public function getKategoriDetails($kategori_id) { $kategoriDetails = DataKategoriDetail::where('id_kategori', $kategori_id)->get(); return response()->json($kategoriDetails); } public function wisata(Request $request) { $kategoris = DataKategori::all(); $query = DataWisata::query(); if ($request->filled('nama_wisata')) { $query->where('nama_wisata', 'like', '%' . $request->nama_wisata . '%'); } if ($request->filled('id_kategori')) { $query->whereHas('kategori_detail', function ($q) use ($request) { $q->where('id_kategori', $request->id_kategori); }); } $wisata = $query->paginate(20); return view('pengunjung.wisata', compact('kategoris', 'wisata')); } public function rute($nama_wisata) { $rute = DataWisata::where('nama_wisata', $nama_wisata)->firstOrFail(); return view('pengunjung.ruteTerdekat', compact('rute')); } public function petaWilayah() { $peta = DataWisata::with('kategori_detail.kategori')->get(); $rute = DataWisata::with('kategori_detail.kategori')->paginate(10); return view('pengunjung.petaWilayah', compact('peta', 'rute')); } public function detailWisata($nama_wisata) { $data = DataWisata::where('nama_wisata', $nama_wisata) ->with(['kategori_detail.kategori', 'events', 'kuliners', 'komentars']) ->firstOrFail(); $imgDetails = json_decode($data->img_detail, true) ?? []; shuffle($imgDetails); $imgDetails = array_slice($imgDetails, 0, 8); $lainnya = DataWisata::where('id', '!=', $data->id) ->inRandomOrder() ->limit(4) ->with('kategori_detail.kategori') ->get(); return view('pengunjung.profilWisata', compact( 'data', 'imgDetails', 'lainnya' )); } }