我想在我的模型中使用下面的查询按降序排序我的数据库值.但是,它并不完全按照数据库中的所有值按顺序排列,但是当使用升序时,它的运行良好.
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);