cakephp - 下拉列表中的自动空选项

时间:2012-09-11 10:34:11

标签: cakephp cakephp-2.1 cakephp-2.2

有没有办法“自动”将空选项添加到下拉列表中?

我正在寻找的是在belongsTo关系的下拉列表中添加此选项,该关系可以为null,而不必在视图上添加代码。

我确实认为这应该是一个模型选项,例如在脚手架上可能很有用。

1 个答案:

答案 0 :(得分:0)

您可以覆盖_findList方法或创建新的自定义查找并使用_findList(称之为_findSelectList)。例如:

protected function _findList($state, $query, $results = array()) {
    $return = parent::_findList($state, $query, $results);
    if ($state === 'after') {
        $return = array('' => 'select one') + $return;
    }
    return $return;
}

或者您可以扩展FormHelper并默认添加空选项,我认为这会更简单。在调用empty时,您实际上可以在inputDefaults中设置$this->Form->create('Model', array('inputDefaults' => array('empty' => 'Select One')));。如果这样做并且您不希望在每种形式中都这样做,请扩展FormHelper并将其设置为默认值。