如下所示代码:
$model = User::findOne(Yii::$app->getUser()->getIdentity()->getId());
$model->head_image = UploadedFile::getInstance($model, 'head_image');
$file = Yii::$app->params['uploadImagePath'] . Yii::$app->security->generateRandomString(64) . '.' . $model->head_image->extension;
$model->head_image->saveAs($file);
$model->head_image = $file;
if ($model->update()){
return '头像更新成功!';
}
return '文件保存成功!' . Json::encode($model->errors);
这时$model->update()
成功,数据库数据更新成功。
但是当 _$model = User::find()->select('username,head_image')->where(['userid' => Yii::$app->getUser()->getIdentity()->getId()])->one();_
这样获取数据时,_$model->update()_
失败,且数据库数据没有更新。
我又使用_$model = User::find()->select('*')->where(['userid' => Yii::$app->getUser()->getIdentity()->getId()])->one();_
获取数据时,_$model->update()_
也是成功的,且数据库数据更新成功。
我又将两种获取得到的数据模型打印出来做了比较,除了数据条数不同内容都是一样的。
劳烦朋友指教。
select(‘id,username,headimage’)试试
刚开始学,学习了!