# Sort dropdownlist by value

**URL:** <https://discourse.cakephp.org/t/sort-dropdownlist-by-value/7629>\
**Category:** Uncategorized\
**Created:** [April 8, 2020, 8:38pm UTC](https://discourse.cakephp.org/t/sort-dropdownlist-by-value/7629 "2020-04-08T20:38:07Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![elie](https://avatars.discourse-cdn.com/v4/letter/e/6f9a4e/32.png) [@elie](https://discourse.cakephp.org/u/elie)\
**Post date:** [April 8, 2020, 8:38pm UTC](https://discourse.cakephp.org/t/sort-dropdownlist-by-value/7629/1 "2020-04-08T20:38:07Z")

</div>

Hi i want to sort a dropdown list by its second value(not the id) i tried using order in the find but it doesn’t work. Im using cakephp 2.x

---

<div class="post-metadata">

**Author:** ![dreamingmind](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.cakephp.org/dreamingmind/32/1857_2.png) [@dreamingmind](https://discourse.cakephp.org/u/dreamingmind)\
**Post date:** [April 8, 2020, 9:20pm UTC](https://discourse.cakephp.org/t/sort-dropdownlist-by-value/7629/2 "2020-04-08T21:20:34Z")

</div>

I would expect you to be able to sort your query.

But if you continue to have a problem there you could resort to php’s sort() [https://www.php.net/manual/en/function.sort](https://www.php.net/manual/en/function.sort)

---

<div class="post-metadata">

**Author:** ![Zuluru](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.cakephp.org/zuluru/32/1230_2.png) [@Zuluru](https://discourse.cakephp.org/u/Zuluru)\
**Post date:** [April 8, 2020, 11:37pm UTC](https://discourse.cakephp.org/t/sort-dropdownlist-by-value/7629/3 "2020-04-08T23:37:01Z")

</div>

Show us the code you’re using.

---

<div class="post-metadata">

**Author:** ![elie](https://avatars.discourse-cdn.com/v4/letter/e/6f9a4e/32.png) [@elie](https://discourse.cakephp.org/u/elie)\
**Post date:** [April 9, 2020, 12:12pm UTC](https://discourse.cakephp.org/t/sort-dropdownlist-by-value/7629/4 "2020-04-09T12:12:42Z")

</div>

$codetravails = $this-\>Codetravail-\>find(‘list’, array(  
‘conditions’ =\> array(‘client\_id’ =\> array($this-\>request-\>data[‘client\_id’], 0)),  
‘fields’ =\> array(‘id’, ‘description’),  
‘order’ =\> array(‘description’ =\> ‘ASC’)  
));

---

<div class="post-metadata">

**Author:** ![Zuluru](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.cakephp.org/zuluru/32/1230_2.png) [@Zuluru](https://discourse.cakephp.org/u/Zuluru)\
**Post date:** [April 9, 2020, 4:40pm UTC](https://discourse.cakephp.org/t/sort-dropdownlist-by-value/7629/5 "2020-04-09T16:40:24Z")

</div>

Looks like it should work, but I skipped from 1.3 straight to 3.x, so I can’t say for sure. Hopefully someone else will be able to confirm whether `order` is supposed to work with `list` queries.

---

<div class="post-metadata">

**Author:** ![dreamingmind](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.cakephp.org/dreamingmind/32/1857_2.png) [@dreamingmind](https://discourse.cakephp.org/u/dreamingmind)\
**Post date:** [April 9, 2020, 5:14pm UTC](https://discourse.cakephp.org/t/sort-dropdownlist-by-value/7629/6 "2020-04-09T17:14:45Z")

</div>

I can’t run a test (no 2x install) but that does look ok. There is no explicit example of the use of `order` in a 'list` find. But it’s reasonable to expect to work.

There is an alternative syntax you could try

```auto
$codetravails = $this->Codetravail->find(‘list’, array(
    ‘conditions’ => array(‘client_id’ => array($this->request->data[‘client_id’], 0)),
    ‘fields’ => array(‘id’, ‘description’),
    ‘order’ => array(‘description ASC’) //just value, not key=>value
));

```
