在保存yii模型上自动删除文件字段

时间:2015-05-14 14:08:14

标签: php yii

我正在尝试更新包含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 无法解决问题。

1 个答案:

答案 0 :(得分:0)

在yii中处理文件上载更新可能有点棘手。尝试将文件属性设置为不安全,看看是否有帮助。如果找不到上传的文件,Yii似乎将该属性的值设置为null。将其设置为不安全应该可以防止这种情况。

您可以在下面的yii论坛链接中查看我的答案,找到遇到类似问题的人,以获取更多信息。

http://www.yiiframework.com/forum/index.php/topic/63506-how-can-i-update-records-without-adding-same-image-again/page__p__279888#entry279888