BLANTERORIONv101

Tutorial Laravel Migration & Eloquent: Database Tanpa SQL (Mudah & Cepat)

20 Januari 2026
Tutorial Laravel Eloquent Relationship: Menghubungkan Tabel dengan Mudah

Tutorial Laravel Eloquent Relationship: Menghubungkan Tabel dengan Mudah

Setelah belajar dasar Migration dan Eloquent, pertanyaan selanjutnya adalah: Bagaimana jika data kita saling berhubungan? Misalnya, satu kategori memiliki banyak produk, atau satu user memiliki satu profil.

Di sinilah Eloquent Relationship bekerja. Anda tidak perlu lagi menulis JOIN manual yang rumit. Laravel menyediakannya secara otomatis dan elegan.


1. Memahami Relasi One-to-Many

Relasi One-to-Many adalah yang paling sering digunakan. Contoh paling nyata adalah 1 Kategori memiliki banyak Produk. Mari kita praktikum!

Langkah 1: Menyiapkan Migration

Kita perlu menambahkan kolom kategori_id pada tabel produks sebagai Foreign Key.


Schema::table('produks', function (Blueprint $table) {
    $table->foreignId('kategori_id')->constrained();
});
        

Jangan lupa jalankan php artisan migrate.

2. Mendefinisikan Relasi di Model

Agar Laravel tahu bahwa kedua tabel ini berhubungan, kita harus mendaftarkannya di dalam file Model.

Di Model Kategori (Parent)

Gunakan fungsi hasMany karena satu kategori punya banyak produk.


public function produks()
{
    return $this->hasMany(Produk::class);
}
        

Di Model Produk (Child)

Gunakan fungsi belongsTo karena setiap produk dimiliki oleh satu kategori.


public function kategori()
{
    return $this->belongsTo(Kategori::class);
}
        

3. Cara Mengambil Data Relasi

Sekarang, Anda bisa memanggil data terkait dengan sangat mudah (Magic Methods):


// Mengambil semua produk dari kategori tertentu
$kategori = Kategori::find(1);
$daftarProduk = $kategori->produks;

// Mengambil nama kategori dari sebuah produk
$produk = Produk::find(5);
echo $produk->kategori->nama_kategori;
        

Perbandingan: SQL vs Eloquent

Fitur Cara SQL Manual Cara Eloquent
Ambil Data Relasi Gunakan INNER JOIN yang panjang. Cukup panggil properti relasi $data->relasi.
Keamanan Harus waspada SQL Injection. Sudah aman secara default.
Efisiensi Kode Kode lebih panjang dan sulit dibaca. Sangat singkat dan "human-readable".

Kesimpulan

Eloquent Relationship membuat pengelolaan data yang kompleks menjadi sangat sederhana. Dengan memahami relasi, Anda bisa membangun fitur seperti sistem e-commerce, blog, hingga dashboard admin dengan lebih cepat.

Siap naik level? Apakah Anda ingin saya melanjutkan ke tutorial "Laravel Controller & View: Menampilkan Data ke User"?

Komentar