php – Codeigniter $this-> db-> order_by(”,’desc’)结果不完整

前端之家收集整理的这篇文章主要介绍了php – Codeigniter $this-> db-> order_by(”,’desc’)结果不完整前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的模型中使用下面的查询按降序排序我的数据库值.但是,它并不完全按照数据库中的所有值按顺序排列,但是当使用升序时,它的运行良好.
function sort_all_courses_desc($tennant_id)
{
    $this->db->select('*');
    $this->db->where('tennant_id',$tennant_id);
    $this->db->order_by("course_name","desc");
    $this->db->from('courses');
    $query=$this->db->get();
    return $query->result();
}
从之前的位置,和最后的order_by:
$this->db->select('*');
$this->db->from('courses');
$this->db->where('tennant_id',$tennant_id);
$this->db->order_by("UPPER(course_name)","desc");

或尝试BINARY:

ORDER BY BINARY course_name DESC;

您应该在codeigniter上手动添加二进制排序.

并设置“course_name”字符列.

If sorting is used on a character type column,normally the sort is
conducted in a case-insensitive fashion.

什么类型的结构数据在课程表中?

如果你感到沮丧,你可以使用PHP放入数组并返回:

在“自然顺序”中使用natcasesort进行订购:(参考:http://php.net/manual/en/function.natcasesort.php)

你的数组以数据库为例:$array_db = $result_from_db:

$final_result = natcasesort($array_db);

print_r($final_result);

猜你在找的PHP相关文章