我已经尝试了
$this->db->order_by('order_status','asc')
->order_by('order_id','asc')
->get_where('order', array(
'customer_id' => $this->session->userdata('user_id')
)
)
->result_array();
我也试过
->order_by('order_status asc,order_id asc')->get_where...
但如果order_status的值为0,则始终为last。 (即,订单的状态为1,2,0)我的order_status字段是TinyInt。我错过了什么? 编辑:表格结果如下:
| ID | Status |
25 1
26 1
13 2
16 2
5 0
27 0
我需要的是:
| ID | Status |
5 0
27 0
25 1
26 1
13 2
16 2
答案 0 :(得分:1)
您通过order_status然后按order_id订购结果FIRST。 解决方案是:
->order_by('order_id asc, order_status asc')->get_where...
这样,你首先按ID订购结果,然后(如果有相同order_id的记录)按order_status订购
我不知道你的代码逻辑,但在这种情况下,我认为这是唯一的解决方案。也许你应该重新考虑你的代码逻辑