我试图通过电子邮件'在电子邮件中找到一个用户。 = $ email并发送电子邮件给他们。当我尝试回显$ user时,我收到一个错误,表示它不是字符串。
public function sendEmail($user)
{
Mail::to($user['email'])->Send(new VerifyEmail($user));
}
public function verifyEmail($email)
{
$user = User::where('email',$email);
$this->sendEmail($user ); //mail won't send
return view('auth.email.verifyemail')->with('email', $email);
}
请帮助,谢谢!
答案 0 :(得分:1)
您的代码还有一些问题,而不是找不到用户,但我们先解决这个问题。
解释
在where()
上调用User::class
方法会返回Illuminate\Database\Query\Builder
的实例,而不是您要查找的记录。
要获取一组记录,您可以使用get()
方法流利地调用,或者在您的情况下,您可以通过调用first()
获得第一个结果。
有关该主题的更多信息:Retrieving Single Models / Aggregates
<强>解决方案强>
$user = User::where('email', '=', $email)->first();
if(!$user) {
// handle the case if no user is found
}
echo $user->email // access the user's email address
然后您可以调用您的sendmail方法或任何您需要的方法并传递$user
实例,如$this->sendmail($user)
答案 1 :(得分:0)
$thisUser
只有一个查询。您需要执行它才能获得用户。尝试获得第一条记录:
$thisUser = User::where('email',$email)->first();