Home Paket Belajar Bootcamp Instruktur

Kuasai Eloquent ORM #1 - Mengenal Eloquent ORM & Setup Awal

Pelajari Eloquent ORM Laravel dari dasar hingga mahir. Pahami berbagai jenis relasi seperti hasOne, hasMany, belongsTo, belongsToMany, hasManyThrough, hingga polymorphic relationship. Kuasai teknik query yang efisien menggunakan eager loading, constraint query, aggregate, subquery, serta cara menghindari N+1 Query agar aplikasi Laravel lebih cepat dan scalable. Materi disertai studi kasus dan best practice yang sering digunakan di proyek nyata.

✅ Telah dilihat 11 kali

Rating: 5.00 ⭐

... 08 June 2026, 19:34

Apa itu Eloquent ORM?

Eloquent adalah Object-Relational Mapper (ORM) bawaan Laravel yang memungkinkan kamu berinteraksi dengan database menggunakan sintaks PHP yang elegan, tanpa perlu menulis SQL mentah. Setiap tabel di database direpresentasikan oleh sebuah Model.


Membuat model & migrasi

Gunakan perintah artisan berikut untuk membuat model sekaligus migration, factory, dan seeder.

# Buat model sekaligus migration, factory, dan seeder
php artisan make:model User -mfs

# Penjelasan flag:
# -m = migration
# -f = factory
# -s = seeder

Struktur model dasar

Model User didefinisikan di dalam namespace App\Models dan meng-extend kelas Model bawaan Laravel.

<?php

namespace App\Models;

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

class User extends Model
{
    use HasFactory;

    // Nama tabel (opsional, Laravel otomatis pluralize)
    protected $table = 'users';

    // Kolom yang boleh diisi massal
    protected $fillable = [
        'name',
        'email',
        'password',
        'email_verified_at',
    ];

    // Cast tipe data otomatis
    protected $casts = [
        'email_verified_at' => 'datetime',
        'is_admin'         => 'boolean',
    ];
}

Migrasi tabel users

File migrasi mendefinisikan skema tabel users di database.

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    public function up(): void
    {
        Schema::create('users', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->boolean('is_admin')->default(false);
            $table->timestamp('email_verified_at')->nullable();
            $table->timestamps();
        });
    }

    public function down(): void
    {
        Schema::dropIfExists('users');
    }
};

Operasi CRUD dasar

Contoh operasi Create, Read, Update, dan Delete menggunakan model User.

// CREATE
$user = User::create([
    'name'     => 'Budi Santoso',
    'email'    => '[email protected]',
    'password' => bcrypt('rahasia123'),
]);

// READ
$user  = User::find(1);                          // by ID
$users = User::all();                            // semua data
$admin = User::where('is_admin', true)->first();

// UPDATE
$user->update(['name' => 'Nama Baru']);

// DELETE
$user->delete();

Ringkasan episode 1

  1. Eloquent memetakan tabel users ↔ Model User

  2. Gunakan $fillable untuk mass assignment yang aman

  3. $casts otomatis konversi tipe data (datetime, boolean, dll.)

  4. Migrasi = versi kontrol untuk skema database

Daftar eBook