;
Belajar Laravel dengan Mudah dan Menyenangkan
Eloquent ORM (Object-Relational Mapping) adalah fitur Laravel untuk mengelola data di database menggunakan kode PHP yang sederhana, tanpa menulis perintah SQL. Setiap tabel di database diwakili oleh sebuah model, dan kamu bisa melakukan operasi seperti membuat, membaca, memperbarui, dan menghapus data dengan mudah.
Eloquent menghubungkan model (misalnya, Post) dengan tabel di database (misalnya, posts). Kamu bisa mengakses dan memanipulasi data tabel melalui model, seperti mengambil semua postingan atau menambah postingan baru.
Berikut langkah-langkah sederhana untuk menggunakan Eloquent ORM dengan tabel posts (dengan kolom id, title, content, created_at, updated_at).
Pastikan kamu sudah:
.env.posts menggunakan migration dan menjalankan php artisan migrate.Buat Model
Jalankan perintah berikut untuk membuat model Post:
php artisan make:model Post
File Post.php akan dibuat di folder app/Models. Pastikan model ini terhubung dengan tabel posts (secara default, Laravel mengasumsikan nama tabel adalah versi jamak dari nama model).
Operasi Dasar Eloquent
Gunakan Eloquent di file routes/web.php untuk mencoba operasi CRUD (Create, Read, Update, Delete). Contoh kode:
use App\Models\Post;
use Illuminate\Http\Request;
// Menampilkan semua postingan (Read)
Route::get('/posts', function () {
$posts = Post::all(); // Ambil semua data dari tabel posts
return $posts;
});
// Menampilkan satu postingan berdasarkan ID (Read)
Route::get('/posts/{id}', function ($id) {
$post = Post::find($id); // Ambil postingan dengan ID tertentu
return $post ?: 'Postingan tidak ditemukan';
});
// Membuat postingan baru (Create)
Route::post('/posts', function (Request $request) {
$post = Post::create([
'title' => $request->title,
'content' => $request->content,
]);
return 'Postingan berhasil dibuat: ' . $post->title;
});
// Memperbarui postingan (Update)
Route::put('/posts/{id}', function (Request $request, $id) {
$post = Post::find($id);
if ($post) {
$post->update([
'title' => $request->title,
'content' => $request->content,
]);
return 'Postingan berhasil diperbarui';
}
return 'Postingan tidak ditemukan';
});
// Menghapus postingan (Delete)
Route::delete('/posts/{id}', function ($id) {
$post = Post::find($id);
if ($post) {
$post->delete();
return 'Postingan berhasil dihapus';
}
return 'Postingan tidak ditemukan';
});
Uji Operasi
http://localhost:8000/posts untuk melihat semua postingan atau http://localhost:8000/posts/1 untuk postingan dengan ID 1./posts dengan data title dan content./posts/1 dengan data baru./posts/1 untuk menghapus postingan.Untuk menjalankan server, gunakan:
php artisan serve
Cek Hasil di Database
Gunakan alat seperti phpMyAdmin atau TablePlus untuk memeriksa tabel posts dan melihat perubahan data setelah menjalankan operasi di atas.
find(), create(), atau delete().timestamps).where(), orderBy(), dan relasi antar tabel.Jika tabel posts sudah diisi data (misalnya, via seeder), maka Post::all() mungkin mengembalikan:
[
{"id": 1, "title": "Belajar Laravel", "content": "Ini adalah artikel pertama...", "created_at": "2025-07-11 07:00:00", "updated_at": "2025-07-11 07:00:00"},
{"id": 2, "title": "Eloquent ORM", "content": "Mengelola data dengan mudah...", "created_at": "2025-07-11 07:00:00", "updated_at": "2025-07-11 07:00:00"}
]
users dan posts).Post::where('title', 'like', '%Laravel%')->get().Selamat! Kamu sudah menguasai dasar Eloquent ORM dan bisa mengelola data dengan mudah di Laravel!