2017-05-05 1 views
0

나는 사용자의 복수 선택을 얻기 위해 노력하고 있지만, 제출 한 후 나는 오류 얻을 : (반드시 htmlspecialchars()는 매개 변수 1 YII에 주어진 문자열 배열이 될 것으로 기대하고 1

반드시 htmlspecialchars) 매개 변수 1 문자열 배열이 될 것으로 예상 데이터베이스에

<?php echo $form->labelEx($model, 'Books_read'); ?> 
<div> 
<?php $opts = array('booka' => 'Book A', 'bookb' => 'Book B', 'bookc' => 'Book C ', 'bookd' => 'Book D','booke' => 'Book E','bookf' => 'Book F'); 
    echo $form->checkBoxList($model, 'Books_read', $opts, array(
        'class' => 'checkbox', 
       'multipe' => 'multiple', 
       'template' => '{input}{label}', 
       'separator' => '<br/>', 
       'labelOptions' => array('style' =>'margin: 2px 0px 2px 4px;'), 
             'style' => 'float:left;',)); ?> 

     </div> 
     <?php echo form->error($model,'Books_read '); ?> 
<div style="clear: both;"></div> 

데이터 타입

제공 : 텍스트는 (다른 형태에 대해 잘 작동)

모델 클래스 :

protected function afterFind() { 

     if ($this->isJSON($this->Books_read)) 
     { 
      $this->Books_read = json_decode($this->Books_read); 
     } 

     return parent::afterFind(); 
    } 
+0

내가 YII에 익숙하지 않은입니다. 그러나 드롭 다운 입력을 다중 선택으로 설정하면 게시 날짜가 배열로 반환됩니다. 코드의 어딘가에서 실제 날짜가 배열 인 문자열로 입력을 처리합니다. – blokeish

답변

0

은 아래 양식 요소를 쓰기 : -

echo $form->checkBoxList(
    $model, 
'Books_read', 
    $opts, 
    'htmlOptions' => array(// add htmlOptions 
    'labelOptions' => array(
     // code 
    ) 
) 
); 
관련 문제