我一直收到这个错误:
"Type error: Too few arguments to function App\Http\Controllers\PageController::App\Http\Controllers\{closure}(), 1 passed and exactly 2 expected"
对于这段代码:
public function contact(Request $request) {
Mail::raw($request->message, function($message, $request)
{
$message->from($request->email, $request->name);
$message->to('info@test.com');
});
return view('quotation.index');
}
将$request->email
更改为电子邮件字符串时,该功能可以正常工作。但是电子邮件需要来自以laravel形式输入的电子邮件。有人可以帮我解决这个问题吗?
答案 0 :(得分:4)
您收到此错误是因为您将变量以错误的方式传递给闭包。
如果要传递变量,则必须在闭包中使用use ($request)
。
public function contact(Request $request) {
Mail::raw($request->message, function($message) use ($request)
{
$message->from($request->email, $request->name);
$message->to('info@test.com');
});
return view('quotation.index');
}
希望这有帮助。