有没有办法“自动”将空选项添加到下拉列表中?
我正在寻找的是在belongsTo关系的下拉列表中添加此选项,该关系可以为null,而不必在视图上添加代码。
我确实认为这应该是一个模型选项,例如在脚手架上可能很有用。
答案 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并将其设置为默认值。