feat(controller): ✨ Tambahkan Error Handling pada Pemuatan Kategori
Menambahkan mekanisme penanganan error yang tangguh pada metode `index` di `DaftarPustakaController` untuk memastikan halaman tetap berfungsi meskipun terjadi kegagalan pada query database.
- **Implementasi Try-Catch**: Membungkus query `CategoryDaftarPustaka::withCount('daftarPustaka')` di dalam blok `try-catch`.
- **Pencatatan Error**: Jika terjadi `Exception` (misalnya, tabel relasi belum ada atau terjadi error SQL), pesan error akan dicatat menggunakan `Log::warning()` untuk kemudahan debugging.
- **Mekanisme Fallback**: Apabila query `withCount` gagal, controller akan menjalankan query alternatif `CategoryDaftarPustaka::get()` yang mengambil data kategori tanpa jumlah relasi. Ini memastikan bahwa halaman daftar pustaka tetap dapat ditampilkan kepada pengguna.
- **Penambahan Dependensi**: Menambahkan `use Exception;` dan `use Illuminate\Support\Facades\Log;` untuk mendukung fungsionalitas ini.
This commit is contained in:
@@ -7,6 +7,8 @@ use Illuminate\Http\Request;
|
|||||||
use Modules\Lpj\Models\CategoryDaftarPustaka;
|
use Modules\Lpj\Models\CategoryDaftarPustaka;
|
||||||
use Modules\Lpj\Services\DaftarPustakaService;
|
use Modules\Lpj\Services\DaftarPustakaService;
|
||||||
use Modules\Lpj\Http\Requests\DaftarPustakaRequest;
|
use Modules\Lpj\Http\Requests\DaftarPustakaRequest;
|
||||||
|
use Exception;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
|
|
||||||
class DaftarPustakaController extends Controller
|
class DaftarPustakaController extends Controller
|
||||||
{
|
{
|
||||||
@@ -22,7 +24,15 @@ class DaftarPustakaController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(Request $request)
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
$categories = CategoryDaftarPustaka::all();
|
// Get categories with count of daftar pustaka
|
||||||
|
try {
|
||||||
|
$categories = CategoryDaftarPustaka::withCount('daftarPustaka')->get();
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
// Handle jika tabel belum ada atau error lainnya
|
||||||
|
Log::warning('Error loading categories with count: ' . $e->getMessage());
|
||||||
|
$categories = CategoryDaftarPustaka::get(); // Fallback tanpa count
|
||||||
|
}
|
||||||
|
|
||||||
$daftar_pustaka = $this->daftarPustaka->getAllDaftarPustaka($request);
|
$daftar_pustaka = $this->daftarPustaka->getAllDaftarPustaka($request);
|
||||||
|
|
||||||
return view('lpj::daftar-pustaka.index', [
|
return view('lpj::daftar-pustaka.index', [
|
||||||
|
|||||||
Reference in New Issue
Block a user