Install Web App

Belajar Framework Laravel #33 |Relasi Many To Many Eloquent Pada Laravel

profil-penulis

Irgo Adityawan

30 Mei 2023

Relasi many-to-many adalah salah satu jenis relasi yang sering digunakan dalam pengembangan aplikasi web. Dalam konteks Eloquent, ORM yang kuat di Laravel 8, relasi many-to-many menggambarkan hubungan di mana banyak entitas dalam satu model berkorelasi dengan banyak entitas dalam model lain. Dalam artikel ini, kita akan membahas cara mengimplementasikan relasi many-to-many dengan Eloquent pada Laravel 8.

Langkah 1: Persiapan Proyek Laravel

Pastikan Anda telah membuat proyek Laravel 8 atau Anda memiliki proyek yang siap. Anda juga harus memiliki tabel dan model yang akan digunakan dalam relasi many-to-many.

Langkah 2: Membuat Model dan Migrasi

Dalam contoh ini, kita akan menggunakan dua model: User dan Role. User akan memiliki banyak peran, dan Role akan dimiliki oleh banyak pengguna, sehingga kita akan mendefinisikan relasi many-to-many antara mereka. Mulailah dengan membuat migrasi untuk kedua model:

php artisan make:migration create_users_table
php artisan make:migration create_roles_table

Kemudian, definisikan struktur tabel dalam berkas migrasi masing-masing sesuai dengan kebutuhan proyek Anda.

Langkah 3: Membuat Tabel Pivot

Relasi many-to-many memerlukan tabel pivot yang digunakan untuk mengaitkan entitas dari model pertama dengan entitas dari model kedua. Anda perlu membuat migrasi untuk tabel pivot ini. Misalnya, jika kita ingin menghubungkan tabel users dengan tabel roles, kita dapat membuat migrasi seperti ini:

php artisan make:migration create_role_user_table

Dalam berkas migrasi pivot, Anda perlu menambahkan dua kolom untuk menghubungkan kedua tabel. Contoh:

public function up()
{
    Schema::create('role_user', function (Blueprint $table) {
        $table->id();
        $table->unsignedBigInteger('user_id');
        $table->unsignedBigInteger('role_id');
        $table->timestamps();
    });
}

Langkah 4: Menentukan Relasi Many-to-Many

Setelah Anda membuat model, migrasi, dan tabel pivot, Anda dapat menentukan relasi many-to-many di dalam model Eloquent. Buka model User dan Role dan tambahkan metode yang menggambarkan relasi tersebut.

Dalam model User, tambahkan metode roles:

public function roles()
{
    return $this->belongsToMany(Role::class);
}

Dalam model Role, tambahkan metode users:

public function users()
{
    return $this->belongsToMany(User::class);
}

Metode belongsToMany di model User dan Role mengindikasikan bahwa banyak pengguna dapat memiliki banyak peran dan banyak peran dapat dimiliki oleh banyak pengguna.

Langkah 5: Membuat dan Menyimpan Data

Anda dapat membuat dan menyimpan data yang berkaitan dalam relasi many-to-many. Misalnya, untuk menetapkan peran untuk pengguna, Anda dapat melakukannya sebagai berikut:

$user = new User([
    'name' => 'John Doe',
    'email' => 'john@example.com',
    'password' => bcrypt('password'),
]);
$user->save();

$role1 = new Role(['name' => 'Admin']);
$role2 = new Role(['name' => 'Editor']);

$user->roles()->attach([$role1->id, $role2->id]);

Langkah 6: Mengakses Data dalam Relasi

Anda dapat mengakses data dalam relasi many-to-many dengan mudah. Misalnya, untuk mendapatkan peran-peran pengguna, Anda dapat menggunakan kode berikut:

$user = User::find(1);
$roles = $user->roles;
foreach ($roles as $role) {
    echo $role->name;
}

Anda juga dapat mengakses pengguna yang terkait dengan peran:

$role = Role::find(1);
$users = $role->users;
foreach ($users as $user) {
    echo $user->name;
}

Kesimpulan

Relasi many-to-many adalah fitur Eloquent yang kuat di Laravel 8 yang memungkinkan Anda untuk menggambarkan hubungan antara banyak entitas dalam dua model. Ini sangat berguna dalam mengorganisasi dan mengelola data yang berkaitan. Dengan mengikuti langkah-langkah di atas, Anda dapat dengan mudah mengimplementasikan relasi many-to-many dalam proyek Laravel Anda.

Artikel Lainnya Dengan Kategori Terkait :


1. Belajar Framework Laravel #01 |Pengertian Framework

2. Belajar Framework Laravel #02 |Framework vs PHP Native

3. Belajar Framework Laravel #03 |Pengertian Dan Keunggulan Framework Laravel

4. Belajar Framework Laravel #04 |Pengertian MVC (Model – View – Controller)

5. Belajar Framework Laravel #05 |Instalasi XAMPP dan Cara Akses PHP dari CMD

6. Belajar Framework Laravel #06 |Cara Menginstall Composer

7. Belajar Framework Laravel #07 |Cara Menginstall Laravel 8

8. Belajar Framework Laravel #08 |Cara Menjalankan Laravel 8

9. Belajar Framework Laravel #09 |Cara Membuat Route di Laravel 8

10. Belajar Framework Laravel #10 |Cara Membuat View di Laravel 8

11. Belajar Framework Laravel #11 |Cara Mengirim Data ke View Laravel 8

12. Belajar Framework Laravel #12 |Membuat Controller Pada Laravel 8

13. Belajar Framework Laravel #13 |Passing Data Controller Ke View Laravel

14. Belajar Framework Laravel #14 |Request Data Pada Laravel

15. Belajar Framework Laravel #15 |Maintenance Mode Pada Laravel

16. Belajar Framework Laravel #16 |Konfigurasi Dasar Pada Laravel

17. Belajar Framework Laravel #17 |Sistem Template Blade Laravel

18. Belajar Framework Laravel #18 |CRUD Menampilkan Data Dengan menggunakan query builder pada laravel

19. Belajar Framework Laravel #19 |CRUD Menginput Data Dengan menggunakan query builder pada laravel

20. Belajar Framework Laravel #20 |CRUD Update Data Dengan menggunakan query builder pada laravel

21. Belajar Framework Laravel #21 |CRUD Update Data Dengan menggunakan query builder pada laravel

22. Belajar Framework Laravel #22 |Seeding dan Faker Pada Laravel

23. Belajar Framework Laravel #23 |Membuat Pagination Pada Laravel

24. Belajar Framework Laravel #24 |Membuat Pencarian Pada Laravel

25. Belajar Framework Laravel #25 |Menggunakan Bootstrap Di Laravel

26. Belajar Framework Laravel #26 |Membuat Form Validasi Pada Laravel

27. Belajar Framework Laravel #27 |Migration Laravel

28. Belajar Framework Laravel #28 |CRUD Eloquent Laravel pada laravel 8

29. Belajar Framework Laravel #29 |CRUD Laravel Menggunakan Eloquent

30. Belajar Framework Laravel #30 |Soft Deletes pada laravel

31. Belajar Framework Laravel #31 |Relasi One To One Eloquent pada laravel

32. Belajar Framework Laravel #32 |Relasi One To Many Eloquent Pada Laravel

33. Belajar Framework Laravel #33 |Relasi Many To Many Eloquent Pada Laravel

34. Belajar Framework Laravel #34 |Membuat Login dan Register Menggunakan Laravel 8

35. Belajar Framework Laravel #35 |Membuat Reset Password Laravel Via Email

36. Belajar Framework Laravel #36 |Encrypt dan Decrypt pada Laravel

37. Belajar Framework Laravel #37 |Hashing Pada Laravel

38. Belajar Framework Laravel #38 |CRUD Membuat Upload file pada laravel 8

39. Belajar Framework Laravel #39 |CRUD Hapus File Menggunakan Laravel

40. Belajar Framework Laravel #40 |Session pada laravel

41. Belajar Framework Laravel #41 |Notifikasi dengan session laravel

42. Belajar Framework Laravel #42 |Error Handling Laravel

43. Belajar Framework Laravel #43 |Kirim Email Dengan Laravel

44. Belajar Framework Laravel #44 |Verifikasi Email User Laravel

45. Belajar Framework Laravel #45 |Membuat Laporan PDF Dengan DOMPDF Laravel

46. Belajar Framework Laravel #46 |Export Excel Laravel

47. Belajar Framework Laravel #47 |Import Excel Laravel

48. Belajar Framework Laravel #48 |Multi Bahasa Localization

49. Belajar Framework Laravel #49 |Multi Bahasa Localization Laravel Dengan URL

50. Belajar Framework Laravel #50 |Action URL Laravel

51. Cara Install Laravel di Windows

Masuk Terlebih dahulu untuk berkomentar

Paling baru
Lihat Lainnya