0

假设我有大洲和国家,大洲有很多国家,有没有一种简单的方法可以创建这样的选择下拉列表?

$this->form->select('国家');

我正在尝试编写如下代码:

// in the controller
$this->set('countries', $this->Country->find('all', array('fields' ...)))

// in the view
$this->Form->select('countries')

我想将这些选择组合在一起,但避免编写大量额外的逻辑来重新排列数据。

4

1 回答 1

4

如果你像这样形成你的数组,它会这样做:

$countries = array(
    'North America' => array(
        123 => 'Canada'
        ...
        ...
    ),
    'South America' => array(
        345 => 'Argentina'
        ...
        ...
    ),
);

然后你像往常一样使用表单助手。

$this->Form->select('countries');

笔记

您不能find('all')用于选择。您需要使用find('list')或重新格式化来自find('all')

于 2012-12-30T22:44:27.617 回答