Tutorial Laravel 12 dan Filament 4 #6 Mengenal ORM (Eloquent)

Pelajari Laravel 12 dan Filament 4 dari dasar hingga tingkat lanjut dengan tutorial lengkap dan mudah dipahami. Laravel 12 adalah framework PHP yang powerful untuk membangun aplikasi web modern, sedangkan Filament 4 adalah framework admin panel berbasis Laravel yang memanfaatkan Livewire dan modern UI untuk membuat dashboard, manajemen data, hingga aplikasi kompleks dengan lebih cepat dan efisien.

✅ Telah dilihat 1919 kali

Rating: 5.00 ⭐

... 20 August 2025, 14:59

Apa itu ORM di Laravel

ORM adalah singkatan dari Object Relational Mapping. Di Laravel, ORM yang digunakan adalah Eloquent ORM.

Secara sederhana: ORM adalah cara untuk berinteraksi dengan database menggunakan objek PHP, bukan lagi query SQL mentah Kalau biasanya kita menulis SQL seperti:

SELECT * FROM users WHERE email = '[email protected]';

Dengan Eloquent ORM kita cukup menulis:

$user = User::where('email', '[email protected]')->first();

Konsep Dasar ORM Laravel (Eloquent)

  1. Model sebagai representasi tabel

    • Setiap tabel dalam database biasanya punya Model di Laravel.
    • Contoh: tabel users punya model User.php.
    class User extends Model
    {
        protected $table = 'users';
    }
    
  2. Menggunakan model untuk query

    • ORM menggantikan SQL mentah dengan method chaining.

    • Contoh:

      // Ambil semua data
      $users = User::all();
      
      // Ambil data berdasarkan id
      $user = User::find(1);
      
      // Insert data
      User::create([
          'name' => 'Andi',
          'email' => '[email protected]',
      ]);
      
  3. Relasi antar tabel ORM sangat kuat karena bisa mengatur relationship antar tabel.

    • One to One

      class User extends Model {
          public function profile() {
              return $this->hasOne(Profile::class);
          }
      }
      
    • One to Many

      class Post extends Model {
          public function comments() {
              return $this->hasMany(Comment::class);
          }
      }
      
    • Many to Many

      class Student extends Model {
          public function courses() {
              return $this->belongsToMany(Course::class);
          }
      }
      
  4. Mutator dan Accessor

    • Kita bisa memanipulasi data sebelum disimpan atau setelah diambil.
    class User extends Model {
        public function getNameAttribute($value) {
            return ucfirst($value);
        }
    }
    
  5. Scopes

    • Untuk membuat query reusable.
    class User extends Model {
        public function scopeActive($query) {
            return $query->where('status', 'active');
        }
    }
    
    // Pemanggilan
    $users = User::active()->get();
    

Keuntungan Menggunakan ORM (Eloquent)

  • Lebih mudah dipahami: kode PHP lebih natural daripada SQL panjang.
  • Aman: query otomatis dilindungi dari SQL Injection.
  • Relasi otomatis: mempermudah pengelolaan relasi antar tabel.
  • Maintainable: lebih mudah dirawat, karena query dibungkus dalam model.

Kesimpulan

Eloquent ORM di Laravel adalah jembatan antara tabel database dengan kode PHP berbasis objek, sehingga kita bisa mengelola data tanpa menulis SQL mentah.

Daftar eBook