недостижимая инструкция в laravel при выполнении функции - PullRequest
0 голосов
/ 25 января 2020

Я пытаюсь выполнить функцию отправки почты, когда запись хранится в базе данных, но получаю недоступный оператор

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

        });
    }

Ответы [ 2 ]

2 голосов
/ 25 января 2020

Из руководства :

При вызове из функции оператор return немедленно завершает выполнение текущей функции и возвращает ее аргумент в качестве значения функции звоните.

Измените код на

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

, чтобы выполнить отправку почты до вашего возвращения.

0 голосов
/ 25 января 2020

Введите return response()->json($visit); в конце функции сохранения.

...