TKK_E32211474/app/Http/Controllers/HomeController.php

96 lines
2.9 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Models\tabel_sensor;
class HomeController extends Controller
{
public function index()
{
return view('index');
}
public function showDataHistory()
{
$data = tabel_sensor::orderBy('time', 'desc')->paginate(10);
// Inisialisasi array untuk labels dan dataPoints
$labels = [];
$dataPointsIntensity = [];
$dataPointsSoil = [];
$dataPointsHumidity = [];
$dataPointsTemperature = [];
foreach ($data as $record) {
// Tambahkan waktu sebagai label
$labels[] = $record->time;
// Tambahkan intensitas cahaya ke dalam array dataPoints untuk intensitas cahaya
$dataPointsIntensity[] = $record->intensity;
// Tambahkan nilai soil ke dalam array dataPoints untuk soil
$dataPointsSoil[] = $record->soil;
// Tambahkan kelembapan ke dalam array dataPoints untuk kelembapan
$dataPointsHumidity[] = $record->humidity;
// Tambahkan suhu ke dalam array dataPoints untuk suhu
$dataPointsTemperature[] = $record->temperature;
}
return view('auth.dashboard', [
'data' => $data,
'labels' => $labels,
'dataPointsIntensity' => $dataPointsIntensity,
'dataPointsSoil' => $dataPointsSoil,
'dataPointsHumidity' => $dataPointsHumidity,
'dataPointsTemperature' => $dataPointsTemperature,
]);
}
public function filter(Request $request)
{
$startDate = $request->input('start_date');
$endDate = $request->input('end_date');
// Logika untuk memfilter data berdasarkan start date dan end date
$query = tabel_sensor::query();
if ($startDate) {
$query->where('time', '>=', $startDate);
}
if ($endDate) {
$query->where('time', '<=', $endDate);
}
$data = $query->orderBy('time', 'desc')->paginate(10);
// Inisialisasi array untuk labels dan dataPoints
$labels = [];
$dataPointsIntensity = [];
$dataPointsSoil = [];
$dataPointsHumidity = [];
$dataPointsTemperature = [];
foreach ($data as $record) {
$labels[] = $record->time;
$dataPointsIntensity[] = $record->intensity;
$dataPointsSoil[] = $record->soil;
$dataPointsHumidity[] = $record->humidity;
$dataPointsTemperature[] = $record->temperature;
}
return view('auth.dashboard', [
'data' => $data,
'labels' => $labels,
'dataPointsIntensity' => $dataPointsIntensity,
'dataPointsSoil' => $dataPointsSoil,
'dataPointsHumidity' => $dataPointsHumidity,
'dataPointsTemperature' => $dataPointsTemperature,
]);
}
}