1. Latar Belakang
Pada artikel sebelumnya, kita hanya menampilkan data statis yang ditulis langsung di kode program. Di dunia nyata, data artikel blog bersifat dinamis—ia harus disimpan di dalam database agar bisa ditambah, dicari, diubah, atau dihapus kapan saja tanpa menyentuh kode program. Laravel merevolusi cara kita berinteraksi dengan database melalui dua fitur mahakarya: Migrations dan Eloquent ORM.
2. Konsep Pembahasan
Kita akan mempelajari cara membangun "rumah" bagi data kita tanpa harus menulis satu baris pun perintah SQL manual di terminal atau phpMyAdmin:
Database Migrations: Sistem Version Control untuk database kamu.
Eloquent ORM: Teknik berinteraksi dengan tabel menggunakan objek PHP yang sangat manusiawi.
Konfigurasi
.env: Pusat kendali untuk menghubungkan Laravel ke mesin database.
3. Pengertian Migration & Eloquent
A. Apa itu Migration?
Bayangkan Migration sebagai log atau riwayat perubahan struktur database kamu. Jika dalam koding kita punya Git untuk melacak perubahan kode, maka Migration adalah pelacak perubahan tabel.
Keunggulannya: kamu tidak perlu mengirim file
.sqlke teman setim. Cukup berikan file Migration-nya, dan saat mereka menjalankan perintahmigrate, struktur database mereka akan sama persis dengan milik kamu.Mengapa Migration Penting?
-Version Control: Setiap perubahan struktur tabel (tambah kolom, hapus tabel) tercatat dalam sejarah file.
-Konsistensi: Memastikan database di laptop kamu, teman kamu, dan server produksi selalu sama.
B. Apa itu Eloquent ORM?
ORM singkatan dari Object-Relational Mapper. Eloquent adalah "penerjemah" yang mengubah baris-baris data di tabel database menjadi Objek PHP.
Dulu: kamu harus menghafal perintah SQL:
SELECT * FROM posts WHERE id = 1.Sekarang: kamu cukup memanggil modelnya:
Post::find(1). Laravel akan mengurus sisanya di balik layar.
4. Eloquent ORM: Mengelola Data Tanpa SQL
Eloquent adalah implementasi Active Record yang membuat interaksi dengan database terasa seperti memanipulasi objek biasa. kamu tidak perlu lagi menulis query rumit seperti SELECT * FROM posts.
Keunggulan Eloquent
Keamanan Otomatis: Secara bawaan sudah terlindungi dari serangan SQL Injection.
Readability: Kode jauh lebih mudah dibaca oleh manusia.
Perbandingan Query:
Deskripsi Query SQL Tradisional Query Eloquent Laravel Ambil Semua Data SELECT * FROM posts;Post::all();Cari ID tertentu SELECT * FROM posts WHERE id = 5;Post::find(5);Tambah Data Baru INSERT INTO posts (title) VALUES ('...');Post::create(['title' => '...']);
5. Isi dan Praktek Langsung
A. Konfigurasi Database
Buka file .env di root folder proyekmu. Sesuaikan bagian ini dengan database kamu (biasanya menggunakan MySQL/XAMPP):
B. Langkah 2: Menciptakan Model dan Migration
Gunakan perintah Artisan untuk membuat Model (untuk logika data) dan Migration (untuk struktur tabel) secara sekaligus:
Model akan muncul di:
app/Models/Post.phpMigration akan muncul di:
database/migrations/xxxx_create_posts_table.php
C. Langkah 3: Menentukan Skema Tabel
Buka file migration yang baru saja dibuat. Di dalam fungsi up(), kita akan menentukan kolom apa saja yang dibutuhkan oleh sebuah artikel blog:
D. Langkah 4: Interaksi Data dengan Eloquent
Sekarang buka BlogController.php. Kita akan mengubah cara kita mengambil data. Alih-alih menulis array manual, kita panggil database:
6. Analogi: "Manajer Gudang Elektronik"
Database adalah Gudang Besar yang penuh dengan tumpukan barang (data).
Migration adalah Cetak Biru Gudang: Instruksi tentang di mana rak harus diletakkan, berapa tingginya, dan apa labelnya.
Eloquent adalah Manajer Gudang: kamu tidak perlu masuk ke gudang yang gelap dan berdebu. kamu cukup SMS si Manajer: "Tolong bawakan barang dengan kode 01", dan dia akan membawakannya langsung ke depan pintu kamu dalam kondisi bersih.
7. Kesimpulan
Dengan menguasai Migration dan Eloquent, kamu telah melewati fase tersulit dalam pengembangan web. kamu kini memiliki sistem yang terorganisir, aman dari SQL Injection, dan sangat mudah untuk dikembangkan lebih lanjut. Struktur ini adalah standar yang digunakan oleh perusahaan teknologi besar di seluruh dunia.
8. Daftar Pustaka & Referensi
1. YouTube - Kura-Kura Digital: Belajar Laravel 12 - Eloquent ORM
2. Dokumentasi Resmi: Laravel Documentation - "Migrations" & "Eloquent: Getting Started" Dokumentasi Resmi Laravel: Database: Migrations, Eloquent: Getting Started
