2015-08-12 5 views
0

Я попыталсяCodeIgniter заказ на не работает с нулевыми значениями

$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, это всегда является последним. (т. е. заказы выходят со статусом 1,2,0). Поле order_status - TinyInt. Что мне не хватает? Edit: результаты Таблица выглядеть следующим образом:

| 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

это поможет, если вы включили результаты своего стола, чтобы мы могли визуализировать лучше. – CodeGodie

+0

Я просто подумал, что покажу что-нибудь интересное, и поэтому я не предлагаю вариант редактирования, который я вижу. Когда я запускаю запрос (полученный из профиля) в phpmyadmin, он работает.SELECT * FROM ('order') WHERE' customer_id' = '7' ORDER BY 'order_status' asc,' order_id' desc – user3080408

+0

Я просто проверил ваш код выше в моем локальном тестирующем приложении, на котором запущен CI3, с той же информацией, которую вы разместили в своей базе данных, и хорошо работает с нулями сверху. Я не понимаю, почему вы испытываете эту ошибку. Theres должно быть что-то еще, что вы делаете, или параметр где-то, что вы не включаете. – CodeGodie

ответ

1

Вы приказывать результаты СПЕРВА order_status, а затем order_id. Решения:

->order_by('order_id asc, order_status asc')->get_where... 

таким образом, вы будете результаты первого порядка по ID, а затем (если есть записи с таким же order_id) заказать их order_status

Я не знаю ваш код логики , но в этом случае я считаю, что это единственные решения. Возможно, вам стоит пересмотреть свою логику кода

+0

Fecchi Сначала мне нужно заказать его по статусу. Я не понимаю, почему это кажется неправильным вам и кому-то другому (судя по выходу). – user3080408

Смежные вопросы