2014-03-26 28 views
0

我試圖發送一個驗證郵件:Laravel - 驗證郵件非對象

這是我的郵箱:

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

我的路線:

Route::get('/user/confirm/{confirmation_code}', '[email protected]'); 

控制器:

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

爲什麼這樣說:「試試以獲得非物件的財產「在這一行:

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

謝謝你的幫助!

回答

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(); 
+0

是的,謝謝。這有幫助! – Marek123