ฉันพยายามแสดงอสังหาริมทรัพย์ให้เช่าทั้งหมดก่อนโดยคุณสมบัติทั้งหมดที่ยังไม่ได้ให้เช่าจากนั้นตามด้วยคุณสมบัติทั้งหมดที่เช่าอยู่ในปัจจุบัน มีประเภทโพสต์ที่กำหนดเอง 'เช่า' ที่มีเมตาโพสต์ที่กำหนดเองสำหรับราคาเช่า (_price_rented) ซึ่งเป็นช่องทำเครื่องหมาย (ส่งกลับทั้งจริงหรือเท็จ ... จริงถ้ามันถูกเช่า) ฉันต้องเปลี่ยนคิวรีเพื่อแสดงคุณสมบัติทั้งหมดที่มีคุณสมบัติ (ที่ไม่ได้เช่า) ที่มีอยู่ปรากฏขึ้นก่อนจากนั้นจึงจะมีอสังหาริมทรัพย์ที่ให้เช่าปรากฏขึ้น
นี่คือคำถามของฉัน:
$ts_properties = new WP_Query(
array(
'post_type' => 'rent',
'paged' => $paged,
'posts_per_page' => -1,
'meta_key' => '_price_rented',
'orderby' => 'meta_value',
'order' => 'DESC',
'meta_query' => array(
array(
'key' => '_price_rented',
'value' => false,
'type' => 'BOOLEAN',
),
)
)
);
ด้วยเหตุผลบางอย่างแบบสอบถามนี้แสดงคุณสมบัติทั้งหมดที่มีการเช่า เมื่อฉันเปลี่ยนค่าจาก 'false' เป็น 'true' ใน meta_query มันจะไม่แสดงคุณสมบัติใด ๆ
ดังนั้นฉันคิดว่าค่าส่งคืนเป็นเท็จ (สำหรับคุณสมบัติที่เช่า) หรือ NULL (สำหรับคุณสมบัติที่ไม่ได้เช่า) แต่ไม่แน่ใจว่าจะค้นหาผลลัพธ์ NULL ได้อย่างไร (ไม่ใช่เท็จ) ฉันเพิ่ม ' เปรียบเทียบ 'อาร์กิวเมนต์กับ meta_query และตั้งค่าเป็น'! = 'แต่นั่นก็ไม่ได้ผลเช่นกัน
EDIT: var_dump ส่งคืนอพาร์ทเมนต์ที่มีให้เช่าstring(0) ""
และไม่เช่า:string(1) "1"
_price_rented
ตั้งค่าจริงสำหรับทั้งสองtrue
และfalse
ค่าหรือเป็นเพียงการตั้งค่าสำหรับtrue
? โปรดตรวจสอบฐานข้อมูล ฉันถามเพราะไม่มีการทำเครื่องหมายที่กล่องกาเครื่องหมายไม่ผ่านPOST
เลยดังนั้นฉันสงสัยว่าค่าถูกตั้งค่าทั้งหมดสำหรับกรณีเหล่านั้นหรือไม่