;
Belajar Laravel dengan Mudah dan Menyenangkan
Query Builder adalah fitur Laravel untuk berinteraksi dengan database menggunakan sintaks PHP yang sederhana, tanpa menulis perintah SQL langsung. Berbeda dengan Eloquent ORM yang berbasis model, Query Builder bekerja langsung dengan tabel dan lebih fleksibel untuk query kompleks.
Query Builder digunakan untuk mengambil data dari tabel (misalnya, posts) dengan metode seperti get(), first(), atau where(). Ini cocok untuk situasi di mana kamu tidak ingin menggunakan model atau perlu query khusus.
Berikut langkah-langkah mengambil data dari tabel posts (dengan kolom id, title, content).
Pastikan kamu sudah:
.env.posts dengan migration dan mengisi data (misalnya, via seeder).php artisan migrate untuk membuat tabel.Mengambil Semua Data
Buka routes/web.php dan tambahkan rute untuk mengambil semua data dari tabel posts:
use Illuminate\Support\Facades\DB;
Route::get('/posts', function () {
$posts = DB::table('posts')->get();
return $posts;
});
Penjelasan:
DB::table('posts'): Memilih tabel posts.get(): Mengambil semua baris dari tabel sebagai koleksi.Mengambil Satu Data
Tambahkan rute untuk mengambil postingan berdasarkan ID:
Route::get('/posts/{id}', function ($id) {
$post = DB::table('posts')->where('id', $id)->first();
return $post ?: 'Postingan tidak ditemukan';
});
Penjelasan:
where('id', $id): Memfilter data berdasarkan kolom id.first(): Mengambil baris pertama yang cocok.Mengambil Data dengan Kondisi
Tambahkan rute untuk mengambil postingan dengan kondisi tertentu (misalnya, title mengandung "Laravel"):
Route::get('/posts/search', function () {
$posts = DB::table('posts')
->where('title', 'like', '%Laravel%')
->get();
return $posts;
});
Penjelasan:
where('title', 'like', '%Laravel%'): Mencari judul yang mengandung kata "Laravel".get(): Mengembalikan semua baris yang memenuhi kondisi.Jalankan Server
Jalankan server Laravel dengan:
php artisan serve
Uji rute:
http://localhost:8000/posts: Menampilkan semua postingan.http://localhost:8000/posts/1: Menampilkan postingan dengan ID 1.http://localhost:8000/posts/search: Menampilkan postingan dengan "Laravel" di judul.Jika tabel posts berisi:
[
{"id": 1, "title": "Belajar Laravel", "content": "Laravel sangat mudah..."},
{"id": 2, "title": "PHP dan Laravel", "content": "Framework terbaik..."}
]
/posts mengembalikan semua data./posts/1 mengembalikan data dengan ID 1./posts/search mengembalikan postingan dengan "Laravel" di judul.orderBy(), select(), atau join() untuk query lebih kompleks.Selamat! Kamu sudah menguasai dasar Query Builder untuk mengambil data di Laravel!