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'),
]);
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);
}
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);
}
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'),
]);
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)