Как получить отсортированный массив в dropbox в cakephp

#php #cakephp

#php #cakephp

Вопрос:

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

  $zones = $this->{$this->modelClass}
                ->Zone->find("list", array('conditions' => 
                           array('is_active' => 1,'order' => array('name' => 'asc'))));
  

Ошибка приведена ниже

SQLSTATE [42000]: синтаксическая ошибка или нарушение доступа: 1064 У вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с ‘order = (‘asc’)’ в строке 1

SQL-запрос:

 SELECT `Zone`.`id`, `Zone`.`name` 
FROM `develop_market_pulse`.`zones` AS `Zone` 
WHERE `is_active` = '1' 
  AND order = ('asc')
  

Примечание: Если вы хотите настроить это сообщение об ошибке, создайте app View Errors pdo_error.ctp

Комментарии:

1. Что за ошибка?

2. У вас ошибка в вашем SQL-запросе, это должно быть, например: 'ORDER BY name ASC' вместо 'order = ('asc')'

3. как мы можем записать это в массив?

Ответ №1:

order Не должно быть в conditions :

 $zones = $this->{$this->modelClass}->Zone
                 ->find("list", array(
                     'conditions' => array('is_active' => 1),
                     'order' => array('name' => 'asc')
                 ));
  

Ответ №2:

Попробуйте это

 $zones = $this->{$this->modelClass}->Zone->find("list", [
                'conditions' => ['is_active' => 1],
                'order' => ['name' => 'ASC']
                ]);