Всем привет! Я совсем нуби в yii. Читаю мануалы и не могу понять пока как сделать следующее…
у меня есть таблица. в ней 2 колонки key, val в них названия переменной и значение.
Мне надо сделать форму, на которой 3 поля для редактирования в которых значения key1, key2, key3 сохраняют свои значения.
Форму я сделал через CForm но у меня вопрос, как сделать модель? я сделал модель как потомка ActiveRecord и в
protected function afterConstruct() {
$this->key1 = unserialize($this->findByPk('key1')->value);
$this->key2 = unserialize($this->findByPk('key2')->value);
$this->key3 = unserialize($this->findByPk('key3')->value);
}
для получения значений в форму и сделал метод
public function save() {
$data = $this->findByPk('key1');
$data->value = serialize($this->key1);
$data->update();
$data = $this->findByPk('key2');
$data->value = serialize($this->key2);
$data->update();
$data = $this->findByPk('key3');
$data->value = serialize($this->key3);
$data->update();
return true;
}
в контроллере объявил код
$model = new Settings();
$form = new CForm('application.views.settings.settingsForm',$model);
if ($form->submitted('settings') && $form->validate() && $model->save()) {
$flash = 'Настройки успешно сохранены';
$this->render('settings', array('form'=>$form,'flash'=>$flash));
} else {
$this->render('settings', array('form'=>$form));
}
и в принципе работает. Но меня смущает правильность такого подхода. Объясните плиз, как надо правильно такие вещи делать, когда нет прямой привязки модели к полям