Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
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>