2015-07-04 94 views
2

我在Yii中創建了表單。我已經創建了多個複選框。
例如:Fav Sports= Football,Cricket,Baseball
當我選中所有複選框時,它會將記錄存儲到數據庫。用於存儲我使用的數據"json_encode($_POST['UserInfo']['sports']);"。然後它將以這種格式存儲數據["Football"]["Cricket"]["Baseball"]
Yii存儲的數據無法訪問

我的問題是,當我去更新表單頁面時,所有文本框或控件都有值,但複選框喜歡運動仍然未選中,因爲我無法訪問數據是["Football"]["Cricket"]["Baseball"]。如何從Yii的數據庫訪問這些記錄。

+0

請不要重複你的問題。相反,用你可能擁有的新信息編輯你的問題。 http://stackoverflow.com/questions/31218081/yii-display-correction-in-array-values – crafter

回答

0

你的模型覆蓋以下功能: -

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>