我有一个帖子列表,我试图按字母顺序设置其中的一列。问题在于这些帖子在同一列中具有两种不同的值类型之一。
我在下面尝试的代码使我半途而废,它确实使用顶部的那些值之一查询帖子,但仍然不是按字母顺序排列。
$posts_per_page = 10;
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'offerter',
'post_status' => 'publish',
'posts_per_page' => $posts_per_page,
'paged' => $paged,
'meta_key' => 'business_id',
'meta_value' => $business_id,
'meta_query' => array(
'relation' => 'OR',
'customer_name' => array(
'key' => 'customer_name',
'compare' => 'LIKE',
),
'quick_customer_name' => array(
'key' => 'quick_customer_name',
'compare' => 'LIKE',
),
),
'orderby' => array(
'customer_name' => 'desc',
'quick_customer_name' => 'desc',
)
我试图比较EXISTS和LIKE,这使我获得相同的结果。
答案 0 :(得分:0)
您可以在查询的最后使用 例如:
$collection = new Collection($put_your_array_here);
// Paginate
$perPage = 10; // Item per page
$currentPage = Input::get('page') - 1; // url.com/test?page=2
$pagedData = $collection->slice($currentPage * $perPage, $perPage)->all();
$collection= Paginator::make($pagedData, count($collection), $perPage)->orderby('customer_name' => 'desc')->orderby('customer_name' => 'desc');
答案 1 :(得分:0)
通过创建第三个自定义字段和将“ customer_name”或“ quick_customer_name”保存到新字段的函数来解决该问题。然后在第三个字段上进行排序。