【发布时间】:2017-10-03 12:59:45
【问题描述】:
我试图从用户那里获得多项选择,但提交后我收到错误:
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();
}
【问题讨论】:
-
我对 Yii 不熟悉。但我可以告诉你,当下拉输入设置为多选时,发布日期作为数组返回。在代码中的某处,它将输入视为一个字符串,其中实际日期是一个数组。