0
在查看數據庫排序問題時,我注意到一些相當奇怪的排序行爲。根據實際查詢,在使用meta_query
而不是僅僅使用meta_key
參數時,按子句的順序會產生不同的結果。WordPress的:由meta_query與meta_key的差異意想不到order
在我的情況下,我有一個專用meta_key
姓氏只是爲了這個目的。
'meta_key' => 'lastname',
'orderby' => 'meta_value',
'order' => 'ASC'
這將產生由子句的順序,預計其工作原理:
ORDER BY wp_postmeta.meta_value ASC
在另一方面,使用
'meta_query' => array(
'lastname_clause' => array(
'key' => 'lastname',
'compare' => 'EXISTS'
)
),
'orderby' => array(
'lastname_clause' => 'ASC'
)
產生
ORDER BY CAST(wp_postmeta.meta_value AS CHAR) ASC
這是預期的行爲R'在使用meta_query
時,在查詢參數中是否應該更改一些內容?
但它是。見https://make.wordpress.org/core/2015/03/30/query-improvements-in-wp-4-2-orderby-and-meta_query/ – and