TIF_NGANJUK_E41220778/app/Http/Controllers/Admin/BookController.php

61 lines
1.6 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Book;
use App\Models\Category;
use Illuminate\Http\Request;
class BookController extends Controller
{
public function index(Request $request)
{
$filters = $request->only(['search']);
$query = Book::with('category');
if ($request->filled('search')) {
$query->where('judul', 'like', '%' . $request->search . '%');
}
$semuaBuku = $query->latest()->get();
// Memisahkan buku menjadi dua koleksi: online dan offline
[$bukuOnline, $bukuOffline] = $semuaBuku->partition(function ($buku) {
$tipe = $buku->tipe_akses;
return in_array('online', $tipe ?? []);
});
return view('admin.buku.index', [
'pageTitle' => 'Manajemen Buku',
'bukuOnline' => $bukuOnline,
'bukuOffline' => $bukuOffline,
'input' => $filters
]);
}
/**
* Menampilkan halaman form untuk menambah buku baru.
*/
public function create()
{
return view('admin.buku.create', [
'pageTitle' => 'Tambah Buku Baru',
'categories' => Category::all()
]);
}
public function edit($id)
{
$buku = Book::with('category')->findOrFail($id);
return view('admin.buku.edit', [
'pageTitle' => 'Edit Buku: ' . $buku->judul,
'buku' => $buku,
'categories' => Category::all()
]);
}
// You might also want to implement store, update, destroy here later
}