Introduction
Laravel, sebagai salah satu framework PHP paling populer, menawarkan berbagai fitur untuk mempermudah proses pengambilan dan pengelolaan data. Dalam artikel ini, kita akan menjelajahi beberapa teknik query yang dapat meningkatkan kemampuan Anda dalam mengelola data
Query waktu seru
// Urutkan berdasarkan yang terbaru
User::latest()->get()
// Mengambil semua users yang di buat tahun 2019
User::whereYear('created_at', 2019)->get();
// Dengan bulan contoh february = 2
User::whereYear('created_at', 2019)
->whereMonth('created_at', 2)
->get();
// Mengambil semua users dimana dibuatnya 1 jam terakhir
User::where('created_at', '>=', now()->subHours(1))->get();
Expired? kita cek
Contohnya disini kita ingin cek token apakah expired atau tidak
$token = Token::find(1);
// Token expired setelah 10 menit
$expired = now()->subMinutes(10);
if ($token->created_at < $expired) {
// Token kadaluarsa
}
$expired = now()->subMinute(1); // 1 Menit
$expired = now()->subHour(1); // 1 Jam
$expired = now()->subDay(1); // 1 Hari
$expired = now()->subWeek(1); // 1 Minggu
$expired = now()->subMonth(1); // 1 Bulan
One To Many
// Mengambil semua users dimana user punya setidaknya 1 post
$users = User::whereHas('posts')->get();
// Tambahkan with jika ingin load data posts pada user
$users = User::with('posts')
->whereHas('posts')
->get();
// Anda juga bisa mengurutkannya dari data terbaru
$users = User::with('posts')
->whereHas('posts')
->latest()
->get();