DEV Community

Hilmi
Hilmi

Posted on Originally published at divisidev.com on

Laravel Tips: hasMany Relationship

Laravel hasMany Relationship - Dengan menggunakan eloquent pada laravel project, akan sangat membantu sekali dalam menghubungkan antara table A dengan table B, serta dapat mempersingkat penulisan code. Contohnya, jika kamu mempunyai table users yang berelasi dengan table posts.

Post::create([
  'user_id' => auth()->user()->id,
  'title' => request('title'),
  'body' => request('body'),
]);
🏆 Live Soccer TV: hilmi/laravel tips hasmany relationship el - Pertandingan Hari Ini 🏆 Live Soccer TV: hilmi/laravel tips hasmany relationship el - Pertandingan Hari Ini

Mungkin kamu biasanya menulis code seperti di atas untuk melakukan insert data ke table posts dengan value user_id yang diambil dari id user yang melakukan action tersebut. Sebenarnya, ada cara penulisan code yang lebih sederhana untuk melakukan hal tersebut, yaitu menggunakan eloquent. Caranya dengan membuat relasi antar model terlebih dahulu seperti contoh di bawah ini.

User.php

public function posts()
{
    return $this->hasMany(Post::class);
}
🏆 Live Soccer TV: hilmi/laravel tips hasmany relationship el - Pertandingan Hari Ini 🏆 Live Soccer TV: hilmi/laravel tips hasmany relationship el - Pertandingan Hari Ini

kamu bisa membuat hasMany relationship pada User model seperti contoh di atas yang mengarah ke Post model.

Post.php

public function user()
{
    return $this->belongsTo(User::class);
}
🏆 Live Soccer TV: hilmi/laravel tips hasmany relationship el - Pertandingan Hari Ini 🏆 Live Soccer TV: hilmi/laravel tips hasmany relationship el - Pertandingan Hari Ini

dan menambahkan method user() yang berelasi dengan User model pada Post model seperti contoh code di atas.

auth()->user()->posts()->create([
  'title' => request('title'),
  'body' => request('body'),
]);
🏆 Live Soccer TV: hilmi/laravel tips hasmany relationship el - Pertandingan Hari Ini 🏆 Live Soccer TV: hilmi/laravel tips hasmany relationship el - Pertandingan Hari Ini

Nah, selanjutnya kamu hanya perlu menulis code seperti di atas untuk melakukan insert data ke table posts dengan value user_id yang diambil dari id user yang melakukannya tersebut. Jauh lebih sederhana kan ?

Top comments (0)