MIF_E31220412/app/Http/Controllers/Admin/ReportController.php

39 lines
1.3 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Sewa;
use Carbon\Carbon;
class ReportController extends Controller
{
public function transactions(Request $request)
{
// Ambil data transaksi (sewa yang sudah selesai atau dikonfirmasi)
$query = Sewa::with('user', 'paket')
->whereIn('status', ['confirmed', 'completed']); // Asumsi 'confirmed' dan 'completed' adalah status yang relevan untuk laporan transaksi
// Filter berdasarkan tanggal jika ada
if ($request->has('start_date') && $request->has('end_date')) {
$startDate = Carbon::parse($request->input('start_date'))->startOfDay();
$endDate = Carbon::parse($request->input('end_date'))->endOfDay();
$query->whereBetween('created_at', [$startDate, $endDate]);
}
$transactions = $query->latest()->paginate(10); // Paginate hasilnya
return view('admin.reports.transactions', compact('transactions', 'request'));
}
public function updateStatus($id)
{
$sewa = Sewa::findOrFail($id);
$sewa->status = 'completed';
$sewa->save();
return redirect()->route('admin.reports.transactions')
->with('success', 'Status transaksi berhasil diperbarui menjadi completed');
}
}