Penggunaan Laravel whereBetween

Saya coba menggunaka wherebetween, kurang lebih querynya seperti ini :

$tgl_awal = 2021-01-01;
$tgl_akhir = 2021-01-05;

Report::whereBetween('created_at', [$tgl_awal, $tgl_akhir])->get();

Query di atas harusnya menampilkan data yg di input pada tanggal 1 sampai 5, tapi dalam kasus saya tidak seperti itu. Query di atas hanya menampilkan data antara tgl 1 sampai 4/ mudur satu hari dari tanggal ahir yg ditentukan.  Apakah whereBetween memang seperti itu? atau kesalahan pada kode yg saya tulis?
avatar Supriono

@Supriono

84 Kontribusi 16 Poin


Jawaban

kode nya sudah benar coba cek database nya 
avatar farhansyam

@farhansyam

129 Kontribusi 31 Poin

  • di database dri tgl 1 sampai 5 semua ada data. - @Supriono


Sudah coba seperti ini kak?
$tgl_awal = '2021-01-01 00:00:00';
$tgl_akhir = '2021-01-05 00:00:00';

Report::whereBetween('created_at', [$tgl_awal, $tgl_akhir])->get();
avatar yudhisyudhis

@yudhisyudhis

9 Kontribusi 1 Poin


Coba manfaatkan fungsi DATE bawaan dari mysql seperti ini :
$tgl_awal = 2021-01-01;
$tgl_akhir = 2021-01-05;

Report::whereBetween('DATE(created_at)', [$tgl_awal, $tgl_akhir])->get();

Jadi, nanti kolom created_at akan dikonversikan ke tanggal (mengabaikan jam, menit, dan detiknya).
avatar ahanafi

@ahanafi

813 Kontribusi 551 Poin


Terimakasih semua jawabannya, tapi untuk sementara belum memecahkan masalah saya.
Untuk sementara sampai saya menemukan jawaban, saya akali dengan cara seperti ini agar query yang di hasilkan tetap sesuai seperti yang di tentukan pada request input :

$tgl_awal = $request->tgl_awal;
$tgl_2 = $request->tgl_akhir;
$tgl_akhir = date('Y-m-d H:i:s', strtotime($tgl_2 . ' +1 day'));


Report::whereBetween('created_at', [$tgl_awal, $tgl_akhir])->get();
avatar Supriono

@Supriono

84 Kontribusi 16 Poin


Login untuk gabung berdiskusi