php - 如何在同一列中查询多个 orderby?
问题描述
我有一个帖子列表,其中一列我试图按字母顺序设置。问题是这些帖子在同一列中显示了两种不同的值类型之一。
我在下面尝试的代码让我走到了一半,它确实查询了顶部带有这些值之一但仍然不是按字母顺序排列的帖子。
$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,这让我得到了相同的结果。
解决方案
您可以在查询的最后使用,例如:
$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');
推荐阅读
- database - CAP Theorem - Partition Tolerance 是指节点宕机还是网络宕机?
- c - 对数组进行分区
- mysql - MySQL中的百分比查询
- download - bitbucket 问题:如何将大型二进制文件上传到网站的下载部分
- android-studio - 如何在 Mac 上为 android studio 创建一个新的设备资源管理器文件夹
- javascript - Next.js API 路由响应为空
- pdf - 图像转换为pdf文件,图像的文件大小比pdf文件大得多
- java - Java如何从文本文件中排序
- python - 使用 Bash 控制 TP-Link Kasa 本地交换机
- sql - 防止外键冲突的可能性