执行函数时 Laravel 中无法访问的语句



当记录存储在数据库中时,我试图执行发送邮件功能,但得到无法访问的语句

public function store(Request $request)
{
$visit = Visit::create($request->all());
return response()->json($visit);
$this->sendEmail($request);
}

这是发送电子邮件功能

public function sendEmail(Request $request){
$visit = Visit::create($request->all());
$host_email = Db::table('users')
->where('name', '=', $visit->visitor_host)
->value('email');
$to_name =  $request->input('visitor_name');
$data = array('name'=> $to_name, "body" => "Test mail");

Mail::send('mails.mail', $data, function($message) {
$message->from('cytonnvisitor@gmail.com','cytonn');
$message->to('mimikiduchu@gmail.com');
$message->subject('Visitor coming notification');
});
}

从手册:

如果从函数内部调用,则返回语句会立即 结束当前函数的执行,并将其参数返回为 函数调用的值。

将代码更改为

$this->sendEmail($request);
return response()->json($visit);

在您返回之前执行邮件发送。

在存储函数的末尾输入返回response()->json($visit);

最新更新