在使用yii2-start-kit,修改个人信息相关程序。
public function actionProfile()
{
// $model = new UserProfile;//使用这个也不对
$model = Yii::$app->user->identity->userProfile;//这里
if ($model->load($_POST) && $model->save()) {
Yii::$app->session->setFlash('alert', [
'options'=>['class'=>'alert-success'],
'body'=>'修复的信息已经保存!'
]);
return $this->refresh();
}
return $this->render('profile', ['model'=>$model]);
}
就是这句 $model = Yii::$app->user->identity->userProfile;
它什么时候塞进去,就是找不到。按说应该是登录后塞进去的,相关登录代码,afterlogin啊都找不到。
有熟悉的yii2-start-kit的兄弟帮忙看下
yii2-starter-kit/common/models/User.php
文件有个 getUserProfile
方法
看看user对应model的userProfile
属性$model = UserProfile::find()->where('id='.Yii::$app->user->identity->id)->one();