43 lines
1.3 KiB
PHP
43 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Models\Prediction;
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
class PredictionController extends Controller
|
|
{
|
|
public function store(Request $request)
|
|
{
|
|
// Validasi input
|
|
$request->validate([
|
|
'predicted_suhu' => 'required|numeric',
|
|
'predicted_kelembaban' => 'required|numeric',
|
|
'prediction_datetime' => 'required|date_format:Y-m-d H:i:s',
|
|
]);
|
|
|
|
try {
|
|
// Simpan prediksi ke database
|
|
$prediction = Prediction::create([
|
|
'predicted_suhu' => $request->predicted_suhu,
|
|
'predicted_kelembaban' => $request->predicted_kelembaban,
|
|
'prediction_datetime' => $request->prediction_datetime,
|
|
]);
|
|
|
|
Log::info("✅ Prediksi berhasil disimpan: " . json_encode($prediction));
|
|
|
|
return response()->json([
|
|
'message' => '✅ Prediksi berhasil disimpan',
|
|
'data' => $prediction
|
|
], 201);
|
|
} catch (\Exception $e) {
|
|
Log::error("❌ Gagal menyimpan prediksi: " . $e->getMessage());
|
|
|
|
return response()->json([
|
|
'error' => '❌ Terjadi kesalahan saat menyimpan prediksi'
|
|
], 500);
|
|
}
|
|
}
|
|
}
|