← Kembali ke materi
Latihan · Laravel Dasar

Kategori dan menu

Menyiapkan Laravel… hanya lama di kunjungan pertama.

Latihan paling nyaman dikerjakan di laptop.

Instruksi

Kategori masih ditulis sebagai teks di setiap menu. Kalau Mbak Sari mengganti “Camilan” menjadi “Teman Ngopi”, tiga baris menu harus diubah satu per satu. Kita pisahkan kategori ke tabelnya sendiri.

  1. Lengkapi migration database/migrations/2026_01_01_000000_create_categories_table.php: tabel categories dengan id, nama (unik), slug (unik), timestamps.
  2. Di migration menus, ganti kolom kategori dengan $table->foreignId('category_id')->constrained(); tepat di bawah id.
  3. Buat model Category dengan relasi menus() (hasMany). Di model Menu, ganti kategori di Fillable dengan category_id, dan tambahkan relasi category() (belongsTo).
  4. Ubah MenuSeeder: untuk setiap menu, ambil atau buat kategorinya dengan Category::firstOrCreate(), lalu simpan menunya lewat $category->menus()->create(...).
  5. Di MenuFactory, ganti baris kategori dengan category_id.
  6. Di MenuController@index, kelompokkan lewat relasi: Menu::with('category')->orderBy('id')->get()->groupBy('category.nama').

Kode

Hasil

Tekan Jalankan untuk melihat halaman.