BLOG | eabil-PLC

Profile

Bil'ticle

Artikel 1: Memahami Dasar Relasi One-to-Many: Mengelola Kategori dan Produk - Perwira Learning Center

By nabil alifah rahman • Maret 09, 2026

 

1. Latar Belakang

Dalam membangun sebuah aplikasi penjualan, langkah pertama yang paling krusial adalah merancang bagaimana data disimpan. Sesuai dengan poin presentasi sebelumnya mengenai efisiensi pengembangan, kita tidak ingin data kita berantakan. Bayangkan jika kamu memiliki 1.000 produk dan harus menulis nama kategori "Elektronik" secara manual satu per satu di setiap produk. Selain melelahkan, risiko salah ketik sangat besar. Jika suatu saat kamu ingin mengubah nama kategori tersebut, kamu harus mengedit 1.000 data! Di sinilah relasi One-to-Many hadir sebagai solusi cerdas untuk merapikan database kita.

 

2. Konsep Pembahasan 

Konsep One-to-Many (Satu ke Banyak) adalah pondasi dasar dalam database relasional.

  • Satu (Parent): Satu data di tabel A (contoh: Kategori "Minuman").

  • Banyak (Child): Bisa memiliki banyak data di tabel B (contoh: Kopi, Teh, Jus). Dalam Laravel, kita menggunakan Eloquent untuk menyambungkan kedua tabel ini sehingga kita bisa memanggil data kategori langsung dari objek produk tanpa perlu menulis kode SQL yang rumit.

     

3. Alat dan Bahan

  • Framework: Laravel (Versi 10 atau 11 sangat disarankan).

  • Server: XAMPP atau Laragon.

  • Database: MySQL.

  • Code Editor: Visual Studio Code.

4. Pengertian

  • hasMany: Fungsi yang dipasang di Model Induk (Kategori) untuk menunjukkan bahwa kategori ini punya banyak produk.

  • belongsTo: Fungsi yang dipasang di Model Anak (Produk) untuk menunjukkan bahwa produk ini adalah milik dari satu kategori tertentu.

  • Foreign Key: Kolom "penghubung" di tabel produk (contoh: kategori_id) yang menyimpan ID dari tabel kategori.

5. Studi Kasus

Kita akan membuat sistem mini untuk Toko Kelontong Digital.

  • Kategori: Sembako.

  • Produk: Beras, Minyak Goreng, Gula Pasir. Ketiga produk tersebut akan secara otomatis terkelompokkan di bawah ID Kategori "Sembako".

6. Prakteknya

Langkah 1: Membuat Migration (Rumah Data)

Buka terminal di VS Code kamu, lalu ketik perintah berikut satu per satu: (akan membuat file model sekaligus file migration)


 Isi file Migration Kategori: Buka file di database/migrations/..._create_kategoris_table.php:


 Isi file Migration Produk: Buka file di database/migrations/..._create_produks_table.php:

setelah itu ketik php artisan migrate.

Langkah 2: Menghubungkan Model (Logika Relasi)

Agar Laravel tahu kedua tabel ini berelasi, kita setting di Model.

Buka app/Models/Kategori.php:


 
Buka app/Models/Produk.php:


 

Langkah 3: Menampilkan Data di View

Di Controller kamu (misal ProdukController), ambil data dengan teknik Eager Loading


 
Di file Blade (produk/index.blade.php), tampilkan hasilnya:


 

7. Kesimpulan

Relasi One-to-Many adalah fondasi utama. Dengan mengikuti praktek di atas, kamu sudah berhasil membangun struktur database yang rapi dan profesional. Produk kamu kini tidak lagi "berdiri sendiri", melainkan sudah terorganisir di bawah kategori masing-masing.

8. Daftar Pustaka

    1. Laravel Documentation. Eloquent Relationships - One To Many.

    2. Matt Stauffer. Laravel Up & Running.

    3. Google Gemini AI