Query Builder memungkinkan kamu membuat query SQL yang kompleks dengan syntax PHP yang elegan.
Where clause:
User::where("active", true)->get();
// → SELECT * FROM users WHERE active = 1
User::where("age", ">", 25)->get();
// → SELECT * FROM users WHERE age > 25
User::where("role", "admin")
->where("active", true)
->get();
// → SELECT * FROM users WHERE role = "admin" AND active = 1
Ordering & Limiting:
User::orderBy("name")->get();
// → SELECT * FROM users ORDER BY name ASC
User::orderBy("created_at", "desc")
->limit(10)
->get();
// → SELECT * FROM users ORDER BY created_at DESC LIMIT 10
Selecting specific columns:
User::select("name", "email")->get();
// → SELECT name, email FROM users
Aggregates:
User::count(); // SELECT COUNT(*) FROM users
User::where("active", true)->count(); // SELECT COUNT(*) FROM users WHERE active = 1
User::max("age"); // SELECT MAX(age) FROM users
User::avg("age"); // SELECT AVG(age) FROM users
First & Find:
User::where("email", "[email protected]")->first();
// → SELECT * FROM users WHERE email = "[email protected]" LIMIT 1
User::where("role", "admin")->firstOrFail();
// → Sama, tapi throw 404 jika tidak ditemukan