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 
    ) 
) 
); 
関連する問題