• Contact Us
Wednesday, December 21, 2022
-18 °c
Teman Ngoding
  • Home
  • Tutorial
    • Laravel
    • Codeigniter
    • PHP
    • Golang
    • Java
    • Javascript
    • React JS
    • SQL
    • Problem Solution
  • Video Tutorial
    • Video Laravel
    • Video Codeigniter
    • C++
    • Video Git
  • Events
  • Berita
  • Donate
  • Indonesia
    • English
No Result
View All Result
Teman Ngoding
  • Home
  • Tutorial
    • Laravel
    • Codeigniter
    • PHP
    • Golang
    • Java
    • Javascript
    • React JS
    • SQL
    • Problem Solution
  • Video Tutorial
    • Video Laravel
    • Video Codeigniter
    • C++
    • Video Git
  • Events
  • Berita
  • Donate
  • Indonesia
    • English
No Result
View All Result
Plugin Install : Cart Icon need WooCommerce plugin to be installed.
Teman Ngoding
No Result
View All Result

Tutorial Laravel ~ Laravel Eloquent Relationships

admin by admin
June 10, 2022
in Laravel
0 0
0
Home Tutorial Laravel

This post is also available in: English

Hallo apa kabar teman teman semua, semoga sehat dan sukses selalu.

Kali ini kita akan membahas Eloquent antar relasi tabel. Fitur ini akan mempermudah kamu untuk membuat relasi lebih ringkas dan simpel. Jika kita menggunakan perntah SQL ini akan membuat relasi antar tabel menjadi lebih panjang. Mari kita bahas Relationship pada Eloquent.

Sebelum saya lanjutkan mungkin ada beberapa tutorial yang teman teman minati.

Menggunakan Scope di Laravel

Tutorial Lengkap Menggunakan Soft Delete di Laravel

Cara Menggunakan Seeder di Laravel

Laravel Database Relationship

  1. Relasi one to one dimana sebuah data pada sebuah tabel hanya memiliki relasi ke sebuah data pada tabel yang lain. Misalnya, sebuah data tabel tb_User memiliki relasi 1 nomor telepon di tabel tb_Contact.
  2. Relasi one to many dimana sebuah data pada sebuah tabel memiliki relasi ke beberapa data pada tabel yang lain. Misalnya, sebuah data tabel tb_Category memiliki relasi banyak data barang di tb_Inventory. Atau dengan kata lain, 1 kategori memiliki banyak data inventory.
  3. Relasi many to one (One to many Inverse) dimana merupakan kebalikan dari relasi one to many. Misalnya kita ingin mengetahui data barang di tb_Inventory memiliki kategori apa, maka relasi ini yang akan digunakan.
  4. Relasi many to many dimana banyak data pada sebuah tabel memiliki relasi ke banyak data juga pada tabel yang lainnya. Relasi tersebut terbentuk melalui sebuah tabel bantu. Misalnya, banyak data pada tabel tb_Siswa memiliki relasi peminjaman ke banyak data pada tabel tb_Buku. Relasi tersebut terbentuk dengan tabel bantu bernama tb_Transaksi.

One-To-One Eloquent relationship

Merupakan relasi paling dasar. Misalnya: Setiap User memiliki 1 Phone. Argumen pertama yang diteruskan ke metode hasOne adalah nama model terkait.

public function profile():
{
    return $this->hasOne(Profile::class);
}

Fungsi hasOne sekarang mengharapkan kolom user_id pada model Profil. Jika nama kolom Anda berbeda, tambahkan argumen kedua ke hubungan hasOne dengan nama kolom lainnya:

return $this->hasOne(Profile::class, 'foreign_key');
  • Foreign Key
    • Eloquent menentukan foreign key berdasarkan nama model. Dalam hal ini, model Profile diasumsikan memiliki foreign_key default author_id.
    • Menetapkan Foreign Key dimana default dari relationship User dan author adalah user_id. Untuk menetapkan Foreign Key secara manual, dapat dituliskan sebagai parameter kedua.
return $this->hasOne(Profile::class, 'foreign_key','local_key');
  • Inverse Relationships Foreign Key.
    Pada contoh sebelumnya, Eloquent mencoba mencocokkan user_id dari model Phone ke id dari model User. Default foreign key name adalah nama method dari relationship ditambah akhiran _id, sehingga pada contoh adalah user_id.
    Apabila tidak sesuai, dapat dituliskan pada argumen kedua belongsTo:
public function profile():
{
    return $this->belongsTo(Profile::class);
}
  • Inverse Relationships Primary Key
    Apabila diiginkan relasi tidak menggunakan default primary key, dapat dituliskan di parameter ketiga belongsTo:
return $this->belongsTo(Profile::class, 'foreign_key','local_key');

Eloquent One-To-Many relationship

Hal lain yang sangat penting, bahkan mungkin yang paling penting, adalah hubungan Satu-Ke-Banyak. Juga dikenal sebagai hasMany-relationship, hubungan ini mendefinisikan relasi bahwa ‘satu item memiliki banyak item lainnya. Hubungan ini sangat mirip dengan yang di atas.

Untuk melanjutkan contoh blogging kami, katakan bahwa profil memiliki banyak posting. Buka model Profil Anda dan tambahkan metode berikut:

public function posts(): HasMany
{
    return $this->hasMany(Post::class);
    //Or: return $this->hasMany(Post::class, 'foreign_key');
}
  • Foreign dan Local Key
    Penggunaan foreign dan primary (local) key pada One to Many juga serupa pada One to One.
return $this->hasMany(Post::class, 'foreign_key');
return $this->hasMany(Post::class, 'foreign_key','local_key');

Many to Many

  • Relasi ini juga banyak dipergunakan. Penggunaannya sedikit lebih kompleks dibanding 2 tipe relasi sebelumnya.
  • Contoh berikut adalah di mana terdapat users, roles, dan role_user. Seorang user dapat memiliki banyak role dan sebuah role dapat dimiliki banyak user.
  • role_user merupakan default table perantara (intermediate) atau pivot. Nama table adalah dari kedua table role dan user sesuai urutan abjad
  • Relasi didefinisikan dengan menggunakan method belongsToMany.
public function profiles(): BelongsToMany
{
    return $this->belongsToMany(Profile::class);
}
  • Pivot Table
    Seperti disebutkan sebelumnya nama tabel pivot dihasilkan dari kedua nama tabel dan diurutkan abjad. Apabila dibutuhkan dapat didefinisikan pada parameter kedua dari method belongsToMany.
return $this->belongsToMany(Profile::class,'role_user');

Selain mendefinisikan nama tabel pivot, seperti pada jenis relasi lainnya, key dari masing-masing table dapat didefinisikan seperti contoh berikut:

return $this->belongsToMany(Profile::class,'role_user','user_id','role_id');

Apabila terdapat field/column lain pada pivot table, dan didefinisikas dengan menuliskan pada method withPivot.

return $this->belongsToMany(Profile::class)->withPivot('column1','column2');

Demkian tutorial kali ini yang bisa saya sampaikan, semoga bermanfaat.

Terimakasih…….

Tags: belongsTo laraveldatabase laravellaravel 8Laravel Eloquent relationshipsrelationship laraveltutorial laraveltutorial laravel 8
ShareTweetShare
admin

admin

Next Post
Tutorial Laravel : Membuat Dynamic Dependent Dengan Select2

Tutorial Laravel : Membuat Dynamic Dependent Dengan Select2

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

  • Trending
  • Comments
  • Latest
Tutorial CodeIgniter 4 part 1 ~ RESTful API JWT Authentication

Tutorial CodeIgniter 4 part 1 ~ RESTful API JWT Authentication

June 2, 2022
Codeigniter 4 ~ Membuat Notifikasi Menggunakan SweetAlert

Codeigniter 4 ~ Membuat Notifikasi Menggunakan SweetAlert

June 8, 2022
Tutorial Codeigniter 4 ~ Login dan Register

Tutorial Codeigniter 4 ~ Login dan Register

May 30, 2022
REST API Login dan Register Node.js dengan JWT

REST API Login dan Register Node.js dengan JWT

July 28, 2022
Tutorial Codeigniter 4 ~ Login dan Register

Tutorial Codeigniter 4 ~ Login dan Register

5
Rekomendasi tempat belajar pemrograman

Rekomendasi tempat belajar pemrograman

3
Menghilangkan Public dan Index.php dari URL Codeigniter 4

Menghilangkan Public dan Index.php dari URL Codeigniter 4

2
Membuat Sitemap Otomatis Codeigniter 4

Membuat Sitemap Otomatis Codeigniter 4

1
Access MongoDB With Node.JS

Akses MongoDB Dengan Node.JS

September 26, 2022
Teorema Structured Control

Basic Programming – Structured Control Theorem

September 23, 2022
WEB CRUD LocalStorage Menggunakan JavaScript

WEB CRUD LocalStorage Menggunakan JavaScript

September 22, 2022
DOM dan GOM Javascript

Perbedaan BOM Dan DOM Pada JavaScript

September 20, 2022
Teman Ngoding

Teman Ngoding tempat berbagi tutorial pemrograman
Read more

Categories

  • Berita
  • C++
  • Codeigniter
  • Events
  • Flutter
  • Golang
  • Java
  • Javascript
  • Laravel
  • MongoDB
  • News
  • Node JS
  • Pemrograman
  • PHP
  • Problem Solution
  • React JS
  • SQL
  • Tutorial
  • TypeScript
  • TypeScript
  • Video Codeigniter
  • Video Git
  • Video Laravel
  • Video Tutorial

Tags

ajax belajar golang belajar reactjs blog browser seluler Cara mendapatkan Uang dari Blog codeigniter codeigniter 3 codeigniter 4 codeigniter4 embed html Error Handling flutter flutter vs react native golang golang dasar html infinite scroll javascript javascript tutorial laravel laravel 8 laravel9 laravel 9 load more ajax Menggunakan Multiple select2 dan menyimpan dengan format json mongodb nodejs pdf pemrograman ajax pemrograman golang pemrograman php reactjs reactjs tutorial reactjs vs react native rest api rest api codeigniter 4 tutorial codeigniter 4 tutorial golang tutorial javascript tutorial laravel tutorial laravel 8 tutorial nodejs tutorial reactjs uang dari blog

Recent News

Access MongoDB With Node.JS

Akses MongoDB Dengan Node.JS

September 26, 2022
Teorema Structured Control

Basic Programming – Structured Control Theorem

September 23, 2022

© 2022 Teman Ngoding.

No Result
View All Result
  • Home
  • Tutorial
    • Laravel
    • Codeigniter
    • PHP
    • Golang
    • Java
    • Javascript
    • React JS
    • SQL
    • Problem Solution
  • Video Tutorial
    • Video Laravel
    • Video Codeigniter
    • C++
    • Video Git
  • Events
  • Berita
  • Donate
  • Indonesia
    • English

© 2022 Teman Ngoding.

Login to your account below

Forgotten Password?

Fill the forms bellow to register

All fields are required. Log In

Retrieve your password

Please enter your username or email address to reset your password.

Log In
  • English
  • Indonesia