Days
Hours
Minutes
Seconds

Promo Grand Opening

15% OFF

Khusus Pelanggan Baru

Tutorial Laravel #20 : Eloquent Laravel

 

 

Dalam pengembangan web, berinteraksi dengan database adalah hal yang tidak bisa dihindari. Laravel menyediakan fitur yang sangat powerful dan elegan untuk melakukan hal ini, yaitu Eloquent ORM. Pada tutorial ini, kita akan memahami apa itu Eloquent dan bagaimana cara menggunakannya untuk berinteraksi dengan data di database.


 

Apa Itu Eloquent ORM?

 

ORM (Object-Relational Mapping) adalah sebuah teknik pemrograman yang memungkinkan Anda untuk berinteraksi dengan database menggunakan objek, bukan dengan query SQL mentah. Anda dapat menganggap ORM sebagai “penerjemah” yang mengubah perintah dalam kode PHP menjadi perintah SQL yang dapat dipahami oleh database.

Eloquent adalah implementasi ORM yang disediakan oleh Laravel. Dengan Eloquent, setiap tabel database memiliki “Model” yang sesuai. Model ini berfungsi sebagai jembatan yang kuat antara aplikasi Anda dan data di tabel tersebut.

 

Keuntungan Menggunakan Eloquent

 

  • Kode Bersih: Anda tidak perlu menulis query SQL yang panjang. Cukup panggil method dari model.
  • Lebih Cepat: Pengembang dapat bekerja lebih cepat karena sintaksnya yang intuitif.
  • Mudah Dibaca: Kode lebih mudah dibaca dan dipahami, terutama oleh pengembang lain.
  • Kuat: Eloquent menyediakan fitur-fitur canggih seperti relasi antar tabel (relationship), query builder, dan scope yang dapat mempercepat pengembangan.

 

Langkah 1: Membuat Model

 

Setiap tabel di database Anda harus memiliki model yang sesuai. Untuk membuat model baru, gunakan Artisan CLI. Misalnya, kita akan membuat model untuk tabel mahasiswa.

Bash

php artisan make:model Mahasiswa

Perintah ini akan membuat file Mahasiswa.php di dalam direktori app/Models/. Secara default, Eloquent akan menganggap nama tabelnya adalah versi plural dari nama model (yaitu mahasiswas). Jika nama tabel Anda berbeda (misalnya mahasiswa), Anda bisa menentukannya secara manual di dalam model.

app/Models/Mahasiswa.php

PHP

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Mahasiswa extends Model
{
    use HasFactory;
    
    // Opsional: Jika nama tabel berbeda dari konvensi Eloquent
    protected $table = 'mahasiswa';
    
    // Opsional: Kolom yang dapat diisi secara massal
    protected $fillable = ['nama', 'nim', 'jurusan'];
}
  • protected $table: Digunakan jika nama tabel Anda tidak sesuai dengan konvensi penamaan Eloquent.
  • protected $fillable: Penting untuk keamanan. Ini adalah daftar kolom yang diizinkan untuk diisi secara massal (mass assignment) saat menggunakan metode seperti create() atau update().

 

Langkah 2: Berinteraksi dengan Database (CRUD)

 

Sekarang, mari kita lihat bagaimana Eloquent mempermudah operasi dasar database (CRUD: Create, Read, Update, Delete). Anda bisa menggunakan kode ini di controller atau di route.

 

1. Create (Menambah Data)

 

Untuk membuat data baru, Anda bisa menggunakan metode create() pada model.

PHP

use App\Models\Mahasiswa;

// ... di dalam controller
$mahasiswaBaru = Mahasiswa::create([
    'nama' => 'Budi Santoso',
    'nim' => '123456789',
    'jurusan' => 'Teknik Informatika'
]);

 

2. Read (Mengambil Data)

 

Eloquent menyediakan berbagai metode untuk mengambil data.

  • Mengambil semua data:
    PHP

    $semuaMahasiswa = Mahasiswa::all();
    
  • Mengambil satu data berdasarkan ID:
    PHP

    $mahasiswa = Mahasiswa::find(1); // Mencari mahasiswa dengan ID 1
    
  • Mengambil data dengan kondisi WHERE:
    PHP

    $mahasiswaTI = Mahasiswa::where('jurusan', 'Teknik Informatika')->get();
    
  • Mengambil data pertama yang cocok dengan kondisi:
    PHP

    $mahasiswaPertama = Mahasiswa::where('nim', '123456789')->first();
    

 

3. Update (Memperbarui Data)

 

Untuk memperbarui data, Anda perlu mencari data terlebih dahulu, kemudian mengubah atributnya, dan memanggil metode save().

PHP

$mahasiswa = Mahasiswa::find(1); // Cari mahasiswa dengan ID 1
$mahasiswa->jurusan = 'Sistem Informasi'; // Ubah kolom jurusan
$mahasiswa->save(); // Simpan perubahan

Atau Anda bisa menggunakan update():

PHP

Mahasiswa::where('nim', '123456789')->update(['jurusan' => 'Sistem Informasi']);

 

4. Delete (Menghapus Data)

 

Untuk menghapus data, Anda perlu mencari data terlebih dahulu dan memanggil metode delete().

PHP

$mahasiswa = Mahasiswa::find(1);
$mahasiswa->delete(); // Hapus data dengan ID 1

Atau Anda bisa menghapus data dengan kondisi tertentu secara langsung:

PHP

Mahasiswa::where('nim', '123456789')->delete();

 

Relasi Antar Tabel (Relationship)

 

Salah satu kekuatan utama Eloquent adalah kemampuannya mengelola relasi antar tabel. Misalnya, jika satu mahasiswa bisa memiliki banyak mata kuliah.

  • One-to-Many: Satu mahasiswa memiliki banyak mata kuliah.
  • Many-to-Many: Satu mahasiswa bisa mengambil banyak mata kuliah, dan satu mata kuliah bisa diambil oleh banyak mahasiswa.

Dengan mendefinisikan relasi di dalam model, Anda bisa mengakses data terkait dengan sangat mudah.

PHP

// Di dalam model Mahasiswa.php
public function mataKuliah()
{
    return $this->hasMany(MataKuliah::class);
}
PHP

// Mengakses data mata kuliah dari seorang mahasiswa
$mahasiswa = Mahasiswa::find(1);
foreach ($mahasiswa->mataKuliah as $mk) {
    echo $mk->nama_mk;
}

 

Kesimpulan

 

Eloquent ORM adalah fitur yang membuat Laravel begitu dicintai oleh para pengembang. Dengan Eloquent, Anda dapat mengelola database dengan cara yang lebih intuitif, efisien, dan menyenangkan. Anda tidak perlu lagi menulis query SQL yang rumit, dan dapat fokus pada logika bisnis aplikasi Anda. Menguasai Eloquent adalah langkah penting untuk menjadi pengembang Laravel yang mahir.

Pada tutorial selanjutnya, kita akan membahas cara mengelola seeder di Laravel, yang berguna untuk mengisi database dengan data awal. Tetap ikuti seri tutorial ini!

Wawasan Terbaru

Gemini_Generated_Image_wfw5uwwfw5uwwfw5
Mengenal Dunia Grafis: Dari Piksel Hingga Vektor, Kekuatan Visual di Era Digital
Gemini_Generated_Image_b6dimfb6dimfb6di
Mengenal Foundation: Kerangka Kerja Front-End Profesional untuk Web Responsif
Gemini_Generated_Image_sx3ztpsx3ztpsx3z
CSS
Mempercantik Website dengan CSS: Seniman di Balik Tampilan Web 🎨
Gemini_Generated_Image_e013qke013qke013
Mengenal HTML: Fondasi dari Setiap Halaman Website 🌐
Gemini_Generated_Image_ldki4nldki4nldki
Menyelami Dunia Coding: Seni Berbicara dengan Komputer
Gemini_Generated_Image_dpvliydpvliydpvl
Menguasai GIT: Fondasi Penting dalam Dunia Pengembangan Perangkat Lunak
Gemini_Generated_Image_sqcib9sqcib9sqci
Tutorial Python #12: Mengenal Jenis-jenis Operator dalam Python
Gemini_Generated_Image_o1bw3do1bw3do1bw
Memahami Tipe Data Dictionary dalam Python
Gemini_Generated_Image_ko4ixfko4ixfko4i
Mengenal Tipe Data Set dalam Python
Gemini_Generated_Image_1xop7m1xop7m1xop
Tuple dalam Python: Pengenalan dan Tutorial

Wawasan Serupa

Gemini_Generated_Image_q0o3sbq0o3sbq0o3
Gemini_Generated_Image_mem6cgmem6cgmem6
Gemini_Generated_Image_ust09gust09gust0
Gemini_Generated_Image_d8a5kwd8a5kwd8a5

Ceritakan Detail Proyekmu

Mulai dari 30K aja, solusi IT kamu langsung jalan tanpa drama.

Kata Mereka Tentang Solusi Coding

Dipercaya oleh lebih dari 200++ client untuk menyelesaikan proyeknya dengan total 250++ proyek dari berbagai jenis proyek