Postingan lainnya
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?
Tanggapan
coba ganti yang ini :
$tgl_awal = 2021-01-01;
$tgl_akhir = 2021-01-05;
jadi gini :
$tgl_awal = date(2021-01-01);
$tgl_akhir =date(2021-01-05);
4 Jawaban:
<div>kode nya sudah benar coba cek database nya </div>
Tanggapan
di database dri tgl 1 sampai 5 semua ada data.
<div>Sudah coba seperti ini kak?</div><pre>$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();</pre>
<div>Coba manfaatkan fungsi DATE bawaan dari mysql seperti ini :</div><pre>$tgl_awal = 2021-01-01; $tgl_akhir = 2021-01-05;
Report::whereBetween('DATE(created_at)', [$tgl_awal, $tgl_akhir])->get();</pre><div><br>Jadi, nanti kolom created_at akan dikonversikan ke tanggal (mengabaikan jam, menit, dan detiknya).</div>
<div>Terimakasih semua jawabannya, tapi untuk sementara belum memecahkan masalah saya.<br>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 :<br><br></div><pre>$tgl_awal = $request->tgl_awal; $tgl_2 = $request->tgl_akhir; $tgl_akhir = date('Y-m-d H:i:s', strtotime($tgl_2 . ' +1 day'));</pre><div><br><br></div><pre>Report::whereBetween('created_at', [$tgl_awal, $tgl_akhir])->get();</pre>