2017-03-03 49 views
2

我得到了用戶表和電話號碼行。我想發送短信,然後用戶激活這樣的:Laravel從db獲取用戶手機

 public function activate($token) 
    { 
     User::whereActivationToken($token)->firstOrFail()->confirmEmail(); 
     $phone = $this->user->phone; 

     flash()->success(trans('frontend.account.activated')); 

     if (Auth::check()) { 
      return redirect()->route('account.home'); 
     } else { 
      return redirect()->route('auth.login'); 
Sms::send("activated!", function($sms) { 
    $sms->to(['$phone']); # The numbers to send to. 
}); 
     } 
    } 
} 

但我發現了錯誤,試圖讓非對象的屬性。怎麼了?謝謝你們的答案,請不要生氣,我是laravel的新手。

+0

是否顯示你的錯誤行。如果是這樣的話,你可以解決這個問題? – EddyTheDove

回答

1

你的錯誤可能是從該行

$phone = $this->user->phone; 

$用戶在功能無處存在到來。也許你在別的地方定義了它。

$user = User::whereActivationToken($token)->firstOrFail(); 
$phone = $user->phone; 
1

更改您的代碼是::

$user = User::whereActivationToken($token)->firstOrFail(); 
$user->confirmEmail(); 
$phone = $user->phone; 
+0

好吧,現在我沒有得到任何erorrs,但我也沒有收到任何短信。我認爲$ phone並不代表任何東西 –

+0

@ромМакаров你總是可以使用'dd()'helper'dd($ user)'來查看User對象;'瞭解發生了什麼。 –

+0

感謝您的幫助。問題在於:'sms :: send(「activated!」,function($ sms){sms-> to($ phone);#要發送給的號碼 });'如果我離開([ '$手機'])我在頁面上只是手機標籤,如:$手機,但如果我刪除並離開只是($手機)我收到錯誤「未定義的變量:手機」。似乎很奇怪 –