Rumahweb Journal
Banner - Cara Membuat Relasi Data One To Many Di Laravel

Cara Membuat Relasi Data One To Many Di Laravel

Ingin membuat aplikasi Laravel dengan struktur database yang rapi dan kode yang maintainable? Menguasai relasi data one to many adalah kuncinya. Dengan relasi ini, Anda bisa menghubungkan satu record dengan banyak record lain secara otomatis, sehingga lebih efisien dan powerful.

Dalam panduan ini, kami akan berbagi cara membuat relasi data one to many di Laravel, mulai dari membuat migration, model, mendefinisikan relasi, hingga mengisi data dengan seeder dan menampilkannya di view. Simak informasi berikut ini.

Apa Itu Relasi One To Many?

Pernahkah Anda menemui kasus di mana satu data dapat berelasi dengan data lain? Misalnya, satu kategori bisa memiliki banyak produk, atau satu pengguna bisa memiliki banyak postingan. Hubungan seperti ini dalam basis data dikenal sebagai one-to-many relationship.

Laravel menyediakan fitur Eloquent Relationship yang mempermudah pengelolaan hubungan antar tabel, termasuk relasi one-to-many. Dengan menggunakan fitur ini, Anda dapat mengakses data yang saling berhubungan dengan mudah, tanpa perlu menulis query SQL yang panjang dan kompleks.

Membuat Relasi Data One To Many Di Laravel

Selanjutnya, kita akan mempelajari cara membuat relasi data one to many di Laravel. Sebelum mulai, pastikan Anda sudah menginstal Laravel dan aplikasinya dapat berjalan dengan baik di localhost atau server Anda.

Step 1. Membuat Migration data

Langkah pertama adalah menyiapkan dua tabel, yaitu tabel categories dan products. Pada tabel categories, kita hanya akan menyimpan data name, Sedangkan tabel products akan berisi kolom category_id (sebagai relasi ke kolom id pada tabel categories), serta kolom tambahan seperti name.

Pindah Hosting ke Rumahweb Gratis

kita membuat migration untuk categories caranya dengan menjalankan perintah:

php artisan make:migration create_categories_table

Kemudian kita isikan data yang akan digunakan seperti berikut:

migration untuk categories

Berikutnya kita membuat migration untuk products caranya dengan menjalankan perintah:

php artisan make:migration create_products_table

Kemudian kita isikan data yang akan digunakan seperti berikut:

migration untuk products

Setelah membuat migration datanya dapat dijalankan perintah php artisan migrate untuk mengirimkan table yang sudah kita buat ke database.

Step 2. Membuat Model

Fungsi model pada Laravel digunakan sebagai jembatan antara aplikasi yang dibuat dengan database, berfungsi untuk mengelola, memproses, dan berinteraksi dengan data. Kita akan membuat 2 model yaitu model category dan product, untuk membuatnya bisa menjalankan kedua perintah berikut :

php artisan make:model Category
php artisan make:model Product

Definisi Relasi pada Model

Model Category:

Model Category

Model Product :

Model Product

Step 3. Membuat seeder

Selanjutnya, kita akan membuat seeder data category dan product yang akan dikirimkan ke databse pada table category dan product dengan cara membuat seedernya dahulu dengan menginputkan perintah :

php artisan make:seeder CategorySeeder 

dan

php artisan make:seeder ProductSeeder.

Isi file seeder database/seeders/CategorySeeder.php berikut:

seeder category

Isi file seeder database/seeders/ProductSeeder.php berikut:

Isi file seeder

Kemudian jalankan semua seeder dengan perintah berikut:

php artisan db:seed --class=CategorySeeder
php artisan db:seed --class=ProductSeeder

Step 4. Membuat Controller

Untuk dapat membuat controller, Anda dapat untuk menjalankan perintah berikut:

php artisan make:controller ProductController

Langkah selanjutnya, kita akan membuat function view untuk menampilkan relasi data antara data category dan product yang akan kita buat. Berikut adalah contohnya:

Product Controller

Step 5. Membuat tampilan view

Pada step ini, kita akan membuat tampilan view relasi data category dan product yang akan menampilkan data relasi pada folder resources/views/products/index.blade.php. Berikut contoh skrip yang bisa digunakan:

tampilan view index

Step 6. Menambahkan Route Untuk Menampilkan Relasi Data Category dan Product

Di dalam file routes/web.php, tambahkan route untuk menampilkan relasi Category dan Product yang sudah dibuat.

Route

Pengujian

Langkah terakhir sesi belajar Laravel untuk Membuat Relasi Data One To Many Di Laravel adalah melakukan pengujian. Silahkan dapat menjalankan php artisan serve untuk menjalankan websitenya.

Tampilan pengujian Relasi Data One To Many Di Laravel

Penutup

Relasi One to Many di Laravel digunakan ketika satu data di tabel utama dapat memiliki banyak data terkait di tabel lain. Contohnya, satu kategori bisa memiliki banyak produk, di mana setiap produk tetap mengacu pada kategori tertentu melalui kolom foreign key.

Dengan memanfaatkan fitur Eloquent Relationship Laravel, pengelolaan dan pengambilan data antar tabel menjadi jauh lebih efisien. Anda tidak perlu menulis query SQL yang rumit, karena Laravel secara otomatis mengatur relasi berdasarkan definisi pada model. Hasilnya, kode menjadi lebih rapi, terstruktur, mudah dibaca, dan produktivitas pengembangan aplikasi meningkat secara signifikan.

Demikian artikel kami tentang cara membuat relasi data one to many di Laravel, semoga bermanfaat.

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rating rata-rata 0 / 5. Vote count: 0

Belum ada vote hingga saat ini!

Kami mohon maaf artikel ini kurang berguna untuk Anda!

Mari kita perbaiki artikel ini!

Beri tahu kami bagaimana kami dapat meningkatkan artikel ini?

Arief Hidayatullah

Arief Hidayatullah adalah seorang Technical Support di Rumahweb Indonesia yang memiliki minat dan keahlian dalam pengembangan web. Dengan pengalaman dan pengetahuannya di bidang teknologi, Arief memiliki ketertarikan khusus dalam pengembangan web menggunakan Laravel, sebuah framework PHP yang populer. Dengan semangat belajar dan eksplorasi teknologi, Arief terus mengembangkan keterampilannya untuk menciptakan solusi web yang efisien dan inovatif.

banner pop up - Pindah Hosting ke Rumahweb