我正在尝试更新包含pdf文件的记录。记录正在成功更新,但文件字段在更新时变为空。
我的控制器代码是
$model2=$this->loadModel($alldata[0]->frm_id,'Forms');
$values=array();
$tagsarray=$_POST['searched_tag']; // matched tag values
$pdfval=$_POST['searched_tag_pdf']; // pdf form values
for($i=0;$i< count($pdfval);$i++)
{
$values[$pdfval[$i]]=$tagsarray[$i];
}
$model2->analyse_data=json_encode($values);
$model2->frm_status=2;
if($model2->save())
{
Yii::app()->user->setFlash('pdfupload','Form analysis done! data saved.');
$this->redirect(Yii::app()->createUrl('/formsupload'));
}else
{
Yii::app()->user->setFlash('pdfupload','Some error to save the data.');
$this->redirect(Yii::app()->createUrl('/formsupload'));
}
和模型规则是
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('frm_code,frm_desc,frm_pdf', 'required'),
array('frm_code', 'unique'),
array('is_approve', 'safe'),
//array('desc', 'min'=>1, 'max'=>200)
array('frm_pdf', 'file', 'types'=>'pdf','allowEmpty'=>true),
);
}
更新 也试过这个解决方案here 无法解决问题。
答案 0 :(得分:0)
在yii中处理文件上载更新可能有点棘手。尝试将文件属性设置为不安全,看看是否有帮助。如果找不到上传的文件,Yii似乎将该属性的值设置为null。将其设置为不安全应该可以防止这种情况。
您可以在下面的yii论坛链接中查看我的答案,找到遇到类似问题的人,以获取更多信息。