พอดีจะ query รายการที่ใช้รถของวันนั้น ๆ
ลอง ใช้เเล้ว query ไม่ขึ้นข้อมูลเลยครับ เพราะสาเหตุใดหรือครับ ทั้งๆที่ curdate ก็รีเทิร์นค่ากลับมาเป็นวันที่ ของวันนั้น ๆ อยู่เเล้ว
SELECT * FROM New_car.New_car_car_reservation
where vehicle_id = 1 and curdate() = begin
order by id desc limit 1
thawatchai srichandaeng 16 มี.ค. 2565 14:00
SELECT * FROM New_car.New_car_car_reservation
where vehicle_id = 4
and now()
and status = 1
order by id desc limit 1 ; อันนี้ค่าที่ได้ได้รายการ ณ วันนั้นเวลานั้น เวลาปัจจุบัน เเต่ไม่ชัวร์ ช่วยเช็คหน่อยครับว่าใช้ได้ไหม
กรกฎ วิริยะ 17 มี.ค. 2565 20:57
การตรวจสอบด้วยวันที่ไม่ควรใช้ฟังก์ชั่นของ mysql ครับ เนื่องจากฟังก์ชั่นมันคืนค่า วินาที มาด้วย ดังนั้น query จะได้ข้อมูลยาก
ยกตัวอย่างที่ควรจะเป็น DATE(begin)='2002-03-16' แบบนี้ถึงจะคืนค่าตามวันที่เลือกมา
ถ้าเป็น Model ของ Kotchasan จะเขียนแบบนี้
->where(array(
  array('vehicle_id', 1), // `vehicle_id`=1
 array(\Kotchasan\Database\Sql::DATE('begin), date('Y-m-d)), // DATE(`begin`)='2002-03-16'
 array('status', 1), // `status`=1
))
thawatchai srichandaeng 18 มี.ค. 2565 15:49
Quotations by หมายเหตุ #2การตรวจสอบด้วยวันที่ไม่ควรใช้ฟังก์ชั่นของ mysql ครับ เนื่องจากฟังก์ชั่นมันคืนค่า วินาที มาด้วย ดังนั้น query จะได้ข้อมูลยาก
ยกตัวอย่างที่ควรจะเป็น DATE(begin)='2002-03-16' แบบนี้ถึงจะคืนค่าตามวันที่เลือกมา
ถ้าเป็น Model ของ Kotchasan จะเขียนแบบนี้
->where(array(
  array('vehicle_id', 1), // `vehicle_id`=1
 array(\Kotchasan\Database\Sql::DATE('begin), date('Y-m-d)), // DATE(`begin`)='2002-03-16'
 array('status', 1), // `status`=1
))

ใช้ date_format ใน Sql ก็ไม่ดีเท่า ตั้งใน php ใช่ไหมครับอาจารย์
กรกฎ วิริยะ 18 มี.ค. 2565 17:53
มันไม่ใช่ไม่ดี แต่มันคืนค่าที่เราไม่ต้องการมาด้วยทำให้ผลลัทธ์มันผิด เราจำเป็นต้องควบคุมมันด้วยตัวเอง เพื่อให้ผลลัพท์ถูกต้อง

โพสต์ตอบกลับ

กรุณาตรวจสอบให้ถูกต้องก่อนส่ง สามารถใช้ BBCode ได้
ประเภท jpg, jpeg, png, webp อัปโหลดรูปภาพหรือไม่ก็ได้