2014-10-25 3 views
0

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

$this->Paginator->settings = array(
       // 'conditions' => array('request_status' => 'pending') , 
       'order' => array('request_status' => 'pending','request_date'=> 'desc'), 
    'limit' => 5 ); 

ответ

1

'request_status' => 'pending' должны быть либо 'request_status' => 'asc' или 'request_status' => 'desc' в зависимости от предпочтений. Он не принадлежит в условиях порядка, как вы указали в качестве своей части ИНЕКЕ и не ORDER BY

EDIT:

, если его стандартный дисплей, который вы ищете, чтобы сделать, а затем использовать а не настройки страницы. Раньше у меня были трудности с ними. Таким образом, в модели будет определять порядок переменной

public $order = array("request_status" => "ASC"); 

или

public $order = array("request_status" => "DESC"); 

В контроллере для зрения, это было бы случай вызова стандартного

$this->set('mydata' , $this->Paginator->paginate); 
+0

Это не работает. Я получаю только ожидающие условия. Сначала я хочу, чтобы отложенные строки, а затем остальные после этого, которые не ожидали. $ this-> Paginator-> settings = array ( 'conditions' => array ('request_status' => 'pending'), 'order' => array ('request_status' => 'desc'), 'limit '=> 5); – ajt

+0

Извините, я не понимаю, как это работает. Должен быть простой способ просто отобразить все ожидающие результатов, и после этого отобразить все незавершенные результаты. – ajt

+0

. Мне также пришлось работать, добавив новое поле с номером запроса, что упростило сортировку – ajt

0

Вы можете сортировать по нескольким столбцам, и вы можете сортировать разные столбцы в разных направлениях. Например, для сортировки по типу request_date в порядке убывания, затем request_status в пределах request_type в порядке убывания ('младший' request_date первый), используйте следующий запрос:

mysql> SELECT * FROM pet 
    -> ORDER BY request_status, request_date DESC; 

CakePHP:

'order' => array('request_status, request_date DESC'); 

Ключевое слово DESC применяется только к имени столбца, непосредственно предшествующему ему (request_date); это не влияет на порядок сортировки столбца request_status, но будет группировать их. Другими словами, над sql-запросом будут группироваться поля request_status, упорядоченные по их поля request_date.

Еще одна полезная ссылка для постраничной навигации сортировкой это this one.

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