Ingin menghubungkan banyak data ke satu entitas di Laravel secara mudah? Relasi data many to one memungkinkan Anda mengelola hubungan ini secara efisien, misalnya banyak postingan yang terkait dengan satu pengguna. Dengan memanfaatkan fitur Eloquent Relationship, pengambilan dan pengelolaan data menjadi lebih cepat dan rapi.
Dalam artikel ini, kami akan membahas langkah demi langkah untuk membuat relasi Many to One di Laravel, mulai dari membuat migration, model, mendefinisikan relasi, hingga mengisi data dengan seeder dan menampilkannya di view.
Apa Itu Relasi Many To One?
Dalam membangun aplikasi menggunakan framework Laravel, relasi antar tabel sangat penting untuk mengatur dan mengelola data secara terstruktur. Laravel menyediakan fitur Eloquent Relationship yang memudahkan Anda untuk menghubungkan tabel-tabel yang saling terkait.
Sebelumnya kita telah membahas relasi data One-to-Many. Kini, kita akan mempelajari relasi data Many-to-One, salah satu tipe relasi yang sering digunakan, terutama ketika banyak data perlu dikaitkan dengan satu entitas tertentu dalam sebuah aplikasi.
Membuat Relasi Data Many To One Di Laravel
Selanjutnya, kita akan mempelajari cara membuat relasi data many to one 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 user dan post. Pada tabel user, kita menggunakan data bawaan saat install laravel. Sedangkan tabel post akan berisi kolom user_id (sebagai relasi ke kolom id pada tabel user), serta kolom tambahan seperti title, dan body.
kita membuat migration untuk posts caranya dengan menjalankan perintah
php artisan make:migration create_posts_tableKemudian kita isikan data yang akan digunakan seperti berikut:

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 users dan posts, untuk membuatnya bisa menjalankan kedua perintah berikut :
hp artisan make:model PostDefinisi Relasi pada Model
Model User :

Model Post :

Step 3. Membuat Seeder
Selanjutnya, kita akan membuat seeder data user dan post yang akan dikirimkan ke databse pada table user dan post dengan cara membuat seedernya dahulu dengan menginputkan perintah php artisan make:seeder UserSeeder dan php artisan make:seeder PostSeeder.
Isi file seeder database/seeders/UserSeeder.php berikut:

Lalu, isi file seeder database/seeders/PostSeeder.php berikut :

Yang terakhir, isi file seeder database/seeders/DatabaseSeeder.php berikut :

Kemudian jalankan semua seeder dengan perintah berikut :
php artisan migrate:fresh --seedStep 4. Membuat Controller
Untuk dapat membuat controller, Anda dapat untuk menjalankan perintah berikut :
php artisan make:controller PostControllerLangkah selanjutnya, kita akan membuat function view untuk menampilkan relasi data antara data user dan post yang akan kita buat. Berikut adalah contohnya:

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/post/index.blade.php. Berikut contoh skrip yang bisa digunakan.

Step 6. Menambahkan Route Untuk Menampilkan Relasi Data User dan Post
Di dalam file routes/web.php, tambahkan route untuk menampilkan relasi User dan Post yang sudah dibuat.

Pengujian
Langkah terakhir sesi belajar Laravel untuk membuat relasi data many to one Di Laravel adalah melakukan pengujian. Silahkan dapat menjalankan php artisan serve untuk menjalankan websitenya.

Penutup
Dengan memahami dan menggunakan relasi many to one, kita bisa mengatur data yang memiliki relasi dengan rapi, terorganisir, dan lebih mudah diakses. Relasi ini sering digunakan dalam aplikasi sehari-hari, misalnya pengguna dan banyak postingan, kategori dan banyak produk, departemen dan banyak karyawan, serta contoh lainnya.
Demikian artikel kami tentang cara membuat relasi data one to one di Laravel. Semoga tutorial ini membantu Anda dalam membangun aplikasi Laravel yang lebih kompleks secara lebih sistematis.


