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







