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

unreachable statement in laravel when executing a function

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

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

        });
    }

来自manual

If called from within a function, the return statement immediately ends execution of the current function, and returns its argument as the value of the function call.

将您的代码更改为

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

在 return 之前执行邮件发送。

在存储函数的最后输入returnresponse()->json($visit);