Laravel从db获取用户手机
我得到了用户表和电话号码行。我想发送短信,然后用户激活这样的: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的新手。
你的错误可能是从该行
$phone = $this->user->phone;
$用户在功能无处存在到来。也许你在别的地方定义了它。
$user = User::whereActivationToken($token)->firstOrFail();
$phone = $user->phone;
更改您的代码是::
$user = User::whereActivationToken($token)->firstOrFail();
$user->confirmEmail();
$phone = $user->phone;
好吧,现在我没有得到任何erorrs,但我也没有收到任何短信。我认为$ phone并不代表任何东西 –
@ромМакаров你总是可以使用'dd()'helper'dd($ user)'来查看User对象;'了解发生了什么。 –
感谢您的帮助。问题在于:'sms :: send(“activated!”,function($ sms){sms-> to($ phone);#要发送给的号码 });'如果我离开([ '$手机'])我在页面上只是手机标签,如:$手机,但如果我删除并离开只是($手机)我收到错误“未定义的变量:手机”。似乎很奇怪 –
是否显示你的错误行。如果是这样的话,你可以解决这个问题? – EddyTheDove