Laravel - 验证邮件非对象

时间:2014-03-26 14:00:48

标签: php object laravel laravel-4

我试图发送验证邮件:

这是我的邮件:

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

我的路线:

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

控制器:

    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');
}  

为什么说:&#34;试图获得非对象的属性&#34;在这一行:

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

谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

因为它无法在此行中找到用户:

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

确保您的确认码正确无误:

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

此外,confirmation_code这真的是您的用户主键(ID)吗?

您可能需要执行以下操作:

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