Tutorial Laravel 12 dan Filament 5 #6 Konsep Relationship pada Laravel

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

✅ Telah dilihat 305 kali

Rating: 5.00 ⭐

... 17 February 2026, 08:06

img

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