Photo from unsplash
Thumbnail

Query Keren Laravel

(2 min read)
--- views
225 words

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();