在Cakephp的下降顺序中下拉列表

时间:2013-01-22 16:14:16

标签: cakephp

echo $form->input(
    'country_id',
    array(
        'type' => 'select', 
        'label' => __('Country *', true), 
        'empty' => 'Select' , 
        'order' => array('countries.name ASC')
    )
);

国家/地区列表未显示在升序中。请任何人帮我找出错误或以升序显示国家/地区列表的好方法。

2 个答案:

答案 0 :(得分:5)

您需要在order查询中添加find

$countries = $this->Country->find('list', array(
    'fields' => array('Country.id', 'Country.name'), 
    'order' => array('Country.name' => 'ASC')
))

答案 1 :(得分:0)

对于cakephp 3. *,您可以使用以下代码;

$countries = $this->Country
           ->find('list',
           [
               'keyField' => 'Country.id',
               'valueField' => 'Country.name',
               'order' => array('Country.name' => 'ASC')
           ])
           ->toArray();