Our blog

Eloquent filter tanggal: whereDate() dan beberapa contoh lainnya

 

Latest Blog's

Eloquent filter tanggal: whereDate() dan beberapa contoh lainnya

Laravel     3 weeks ago


Bagaimana cara memfilter data tanggal menggunakan eloquent di laravel? Rupanya Omm Taylor telah menyiapkan metode yang simpel untuk memprosesnya.

Mungkin sebagian dari kita pernah menggunakan metode "raw query" seperti ini?

$q->where(DB::raw("DATE(created_at) = '".date('Y-m-d')."'"));

Atau tidak menggunakan raw query seperti ini:

$q->where('created_at', '>=', date('Y-m-d').' 00:00:00'));

Cara diatas bisa digunakan, tetapi Laravel Query Builder menyediakan cara yang lebih ELoquent seperti ini:

$q->whereDate('created_at', '=', date('Y-m-d'));

Atau kita juga bisa menggunakan Carbon dari pada fungsi date() dari PHP:

$q->whereDate('created_at', '=', Carbon::today()->toDateString());

Kita tidak hanya dapat memfilter menggunakan method whereData(), tetapi juga bisa langsung hari, bulan dan tahun seperti contoh dibawah ini:

$q->whereDay('created_at', '=', date('d'));
$q->whereMonth('created_at', '=', date('m'));
$q->whereYear('created_at', '=', date('Y'));

Bagaimana? gampang banget kan?

Jika kita membangun sistem yang berurusan dengan zona waktu, sangat direkomendasikan menggunakan Carbon. Materi tentang Carbon akan saya siapkan dilain artikel.