Я пытаюсь установить значение по умолчанию для поля выбора в CakePHP. Мои параметры доступны при использовании статической функции в модели, которая определяется как такВызов функции статической модели с контроллера в cakePHP
public static function purpose($value = null)
{
$options = array(
self::PURPOSE_HOMECONSUMPTION => __('Home Consumption', true),
self::PURPOSE_COMMERCIAL => __('Commercial', true)
);
return self::enum($value, $options);
}
// Constants for status attribute
const PURPOSE_HOMECONSUMPTION = '0';
const PURPOSE_COMMERCIAL = '1';
На мой взгляд, я заполнить поле выбора, вызвав эту статическую функцию таким образом
echo $this->Form->input('purpose', array(
'type' => 'select',
'options' => Field::purpose()
достаточно его Sure выбирает параметры, но значение по умолчанию - Home Consumption
. Я хочу установить его Commercial
. Я пробовал что-то подобное в контроллере
$this->request->data['Field']['purpose'] = Field::purpose(1);
Но это не работает. Любые идеи о том, как я могу вызвать статическую функцию в контроллере со значением, установленным на Commercial
.
Похож на мои статические enums ..: P – mark
Почему бы не использовать опцию 'default' для ввода? – arilia
@arilia Значения по умолчанию (исходящие из слоя модели) IMO являются частью логической ИМО и должны находиться в разделе else контроллера. – mark