简体   繁体   English

Laravel-验证邮件非对象

[英]Laravel - verification mail non object

I'm trying to send an verification mail: 我正在尝试发送验证邮件:

This is my mail: 这是我的邮件:

  {{ URL::to('/user/confirm', array($confirmation_code)) }}<br/>

My route: 我的路线:

Route::get('/user/confirm/{confirmation_code}', 'UserController@confirmEmail');  

Controller: 控制器:

    public function confirmEmail() {
      $user = User::find(Input::get('confirmation_code'));

      if($user->confirmation_code !== Input::get('confirmation_code'))
      {
              // Redirect to error page or something
              return Response::error('404');
      }
      // Activate the user and clear the validation key
      $user->confirmed = 1;
      $user->confirmation_code = '';
      $user->save();
      // display success message
    return View::make('pages.home');
}  

Why is it saying: "Trying to get property of non-object" at this line: 为什么在这一行说:“试图获取非对象的属性”:

if($user->confirmation_code !== Input::get('confirmation_code'))  

thank you for your help! 谢谢您的帮助!

Because it could not find a user in this line: 因为它在此行中找不到用户:

$user = User::find(Input::get('confirmation_code'));

Make sure your confirmation code is correct: 确保您的确认码正确:

dd( Input::get('confirmation_code') );

Also, is confirmation_code this really your user primary key (id)? 另外, confirmation_code确实是您的用户主键(id)吗?

You may have to do something like: 您可能需要执行以下操作:

$user = User::where('confirmation_code', Input::get('confirmation_code'))->first();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM