Я создал форму в Yii. В этом я создал несколько флажков.
Например: Fav Sports= Football,Cricket,Baseball
Когда я выберу все флажки, он будет хранить записи в базе данных. Для хранения данных я использовал "json_encode($_POST['UserInfo']['sports']);"
, Затем он сохранит данные в этом формате ["Football"]["Cricket"]["Baseball"]
.
Мой вопрос заключается в том, когда я перехожу на страницу с обновлением формы, все текстовые поля или элементы управления имеют значения, но флажки fav sports остаются непроверенными, потому что я не могу получить доступ к данным, которые ["Football"]["Cricket"]["Baseball"]
. Как получить доступ к этим записям из базы данных в Yii.
Ваша модель переопределяет следующую функцию как: –
public function beforeSave() { $this->sports = CJSON::encode($this->sports); return true; } public function afterSave() { $this->sports = CJSON::decode($this->sports, TRUE); return true; } public function afterFind() { $this->username = CJSON::decode($this->username, TRUE); return true; }
В вашем представлении
<p class="note">Fields with <span class="required">*</span> are required.</p> <div class="row"> <?php echo $form->checkBoxList($model, 'sports', array('Football' => 'Football', 'Cricket' => 'Cricket','Baseball' => 'BaseBall')); ?> </div>