Php $request变量未定义
在我的store方法中,我使用$request for request,但是当传递到Php $request变量未定义,php,laravel,Php,Laravel,在我的store方法中,我使用$request for request,但是当传递到Mail::send方法时,显示了一个错误,该错误导致未定义的变量request public function store(Request $request) { $user = new User(); $user->add_user($request); $confirmation_code = ['123456']; Mail::
Mail::send
方法时,显示了一个错误,该错误导致未定义的变量request
public function store(Request $request)
{
$user = new User();
$user->add_user($request);
$confirmation_code = ['123456'];
Mail::send('users.add-user', $confirmation_code, function($message) {
$message->to($request->get('email'), $request->get('email'))
->subject('Verify your email address');
});
return redirect('/users')->with('success', ['Thanks for signing up! Please check your email.']); ;
}
您应该添加use()
将变量传递到闭包范围:
Mail::send('users.add-user', $confirmation_code, function($message) use($request) {
在Mail::send closure中,必须传递
$request
变量,如下所示:
Mail::send('users.add-user', $confirmation_code, function($message) use ($request) {
$message->to($request->get('email'), $request->get('email'))
->subject('Verify your email address');
});
请尝试此代码
public function store(Request $request)
{
$user = new User();
$user->add_user($request);
$confirmation_code = ['123456'];
Mail::send('users.add-user', $confirmation_code, function($message) use($request) {
$message->to($request->email, $request->email)
->subject('Verify your email address');
});
return redirect('/users')->with('success', ['Thanks for signing up! Please check your email.']); ;
}
在做任何事情之前,在函数体内部检查$request是否有值?您能告诉我们您的答案与@user1191749和@Alexey Mezenin给出的答案之间有什么区别吗?相同的答案,但这有您的全部代码,另一个答案只有部分代码。重要的部分是
使用($request){
我的答案与我们两人的不同之处在于我不能使用get方法来获取用户请求。例如$request->get('email')。我可以使用$request->email。只是想知道为什么OP选择了这个答案,为什么这个答案比我的得票多(3比1)?我的答案是第一个,至少有5-10分钟没有任何答案。而且这个答案也没有告诉任何新的东西。我看到很多这样的事情在发生,我真的很好奇为什么会发生。