frontend\models\BindEmailForm::bind PHP Method

bind() public method

public bind ( $runValidation = true )
    public function bind($runValidation = true)
    {
        if ($runValidation && !$this->validate()) {
            return false;
        }
        $user = Yii::$app->user->identity;
        $user->email = Yii::$app->session['emailBind'];
        return $user->save(false);
    }

Usage Example

Example #1
0
 /**
  * 更新邮箱
  *
  * @return array
  */
 public function actionEmail($step = '1')
 {
     if ($step === '1') {
         $model = new EmailBindRequestForm();
         if ($model->load(Yii::$app->request->post(), '') && $model->sendEmail()) {
             return ['status' => 'success', 'data' => []];
         } else {
             return ['status' => 'fail', 'data' => ['errors' => $model->getErrors('email') ?: [Yii::$app->smser->message]]];
         }
     } elseif ($step === '2') {
         $model = new BindEmailForm();
         if ($model->load(Yii::$app->request->post(), '') && $model->bind()) {
             return ['status' => 'success', 'data' => ['email' => Yii::$app->user->identity->email]];
         } else {
             return ['status' => 'fail', 'data' => ['errors' => $model->getErrors('verifyCode')]];
         }
     } else {
         throw new BadRequestHttpException('参数错误!');
     }
 }