我如何在Laravel的Mail函数中定义$ to变量

时间:2019-02-19 12:56:07

标签: laravel laravel-5

嗨,我不知道问题出在哪里,因为定义了变量,但是laravel说这不是我的代码:

$to = $request->input('mail_contacto');
$razon_social = $request->input('razon_social');
$password = str_random(15);
$data = ['password' => $password];

Mail::send('email.email', $data, function($message)
{
    $message->to($to, $razon_social)->subject('Welcome!');
});

它显示此错误:

  ClientesController.php第134行中的

ErrorException:未定义的变量:   

但是变量已定义,并且它不是空的,因为我检查了它。

那会是什么?谢谢。

3 个答案:

答案 0 :(得分:0)

变量$to$razon_social不包含在函数的本地范围内。尝试应用use关键字以包括它们:

Mail::send('email.email', $data, function($message) use ($to, $razon_social)
{
    $message->to($to, $razon_social)->subject('Welcome!');
});

您可以了解有关use关键字here的更多信息。

答案 1 :(得分:0)

尝试通过use关键字使用闭包

Mail::send('email.email', $data, function($message) use ($to,$razon_social)
{
    $message->to($to, $razon_social)->subject('Welcome!');
});

答案 2 :(得分:0)

您使用的是哪个版本的laravel?我建议调查laravel邮件。这是参考链接:https://laravel-news.com/laravel-mailable-the-new-and-improved-way-to-send-email-in-laravel。当您使用以上答案中的“使用”语法时,出现了什么错误?是一样的吗?