2017-05-05 100 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 
    ) 
) 
); 
相關問題