简体   繁体   中英

$request variable is undefined

In my store method I am using the $request for Request but when passing to the Mail::send method showing an error that undefined variable 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.']); ;
    }

In your Mail::send closure, you must pass the $request variable, like this:

Mail::send('users.add-user', $confirmation_code, function($message) use ($request) {
    $message->to($request->get('email'), $request->get('email'))
        ->subject('Verify your email address');
});

Please try this code..

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.']); ;
}

您应该添加use()以将变量传递到闭包范围:

Mail::send('users.add-user', $confirmation_code, function($message) use($request) {

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM