Membuat Controller baru dengan nama HomeController
php artisan make:controller HomeController
php artisan make:controller EventController
Masukan code berikut ke HomeController:
<?php
namespace App\\Http\\Controllers;
use App\\Models\\Event;
use App\\Models\\Kategori;
use Illuminate\\Http\\Request;
class HomeController extends Controller
{
/**
* Display the homepage with events and categories.
*/
public function index(Request $request)
{
// Get all categories for the filter pills
$categories = Kategori::all();
// Build event query
$eventsQuery = Event::with(['kategori', 'tikets']);
// Filter by category if specified
if ($request->has('kategori') && $request->kategori) {
$eventsQuery->where('kategori_id', $request->kategori);
}
// Get events with minimum ticket price
$events = $eventsQuery->get()->map(function ($event) {
// Add minimum ticket price to each event
$event->tikets_min_harga = $event->tikets->min('harga') ?? 0;
return $event;
});
return view('home', [
'categories' => $categories,
'events' => $events,
]);
}
}
Msukan ke EventController:
<?php
namespace App\\Http\\Controllers;
use App\\Models\\Event;
use Illuminate\\Http\\Request;
class EventController extends Controller
{
/**
* Display the specified event.
*/
public function show(Event $event)
{
// Load the event with its relationships
$event->load(['kategori', 'tikets']);
return view('events.show', [
'event' => $event,
]);
}
}
Menambah Route
Agar aplikasi dapat berjalan dengan baik, tambahkan route berikut di routes/web.php
//Di atas jangan lupa sertakan HomeController dulu
use App\\Http\\Controllers\\HomeController;
use App\\Http\\Controllers\\EventController;
Route::get('/', [HomeController::class, 'index'])->name('home');
// Event routes
Route::get('/events/{event}', [EventController::class, 'show'])->name('events.show');
Notes: Sampai sini masih belum bisa lihat halaman web nya karena home.blade belum dibuat

Pada bagian paling atas terdapat navbar yang berfungsi sebagai navigasi utama, terdiri dari: