input('start_date'); $end_date = $request->input('end_date'); // Filter data based on the date range if start_date and end_date are provided if ($start_date && $end_date) { $startDate = Carbon::createFromFormat('Y-m-d H:i', $start_date); $endDate = Carbon::createFromFormat('Y-m-d H:i', $end_date); $sensors->whereBetween('created_at', [$startDate, $endDate]); } // Retrieve and store the kebun_id query parameter $kebunId = $request->input('kebun_id'); // Filter data based on kebun_id if it is provided if ($kebunId) { $sensors->where('kebun_id', $kebunId)->whereHas('kebun', function ($query) use ($user) { $query->where('user_id', $user->id); }); } else { // Filter data only by kebun owned by the user $sensors->whereHas('kebun', function ($query) use ($user) { $query->where('user_id', $user->id); }); } // Mendapatkan data kebun dari model Kebun yang dimiliki oleh user saat ini $kebunOptions = Kebun::where('user_id', $user->id)->pluck('name', 'id'); // Pagination with the query parameters start_date and end_date $sensors = $sensors->latest()->paginate(15)->appends(['start_date' => $start_date, 'end_date' => $end_date, 'kebun_id' => $kebunId]); // Return data to the view, sorted from newest to oldest return view('dashboard.histories.index', [ 'title' => 'Dashboard | Histories', 'today' => Carbon::now()->format('Y-m-d'), 'sensors' => $sensors, 'kebuns' => $kebunOptions, ]); } public function cetak(Request $request) { $user = Auth::user(); $sensors = Sensors::query(); // Retrieve kebun name from the request $kebunName = $request->input('kebun_name'); $start_date = $request->input('start_date'); $end_date = $request->input('end_date'); if ($start_date && $end_date) { $startDate = Carbon::createFromFormat('Y-m-d H:i', $start_date); $endDate = Carbon::createFromFormat('Y-m-d H:i', $end_date); $sensors->whereBetween('created_at', [$startDate, $endDate]); } $kebunId = $request->input('kebun_id'); $kebun = Kebun::find($kebunId); if ($kebunId) { $sensors->where('kebun_id', $kebunId)->whereHas('kebun', function ($query) use ($user) { $query->where('user_id', $user->id); }); } else { $sensors->whereHas('kebun', function ($query) use ($user) { $query->where('user_id', $user->id); }); } return view('dashboard.histories.cetakhistory', [ 'title' => 'Dashboard | Cetak History', 'sensors' => $sensors->latest()->get(), 'kebun' => $kebun, 'kebun_name' => $kebunName ?? 'Semua Kebun', // Pass the kebun name from the request 'start_date' => $start_date, 'end_date' => $end_date ]); } public function show($id) { $kebun = Kebun::findOrFail($id); // Find the selected garden by ID $sensors = Sensors::where('kebun_id', $kebun->id)->get(); // Fetch sensor data for the selected garden return view('data-monitoring', [ 'kebun' => $kebun, 'sensors' => $sensors ]); } public function destroy(Sensors $control) { $date = $control->created_at->format('Y-m-d'); Sensors::destroy($control->id); return redirect('/dashboard/sensors?filter=' . $date)->with('success', 'Data berhasil dihapus!'); } }