首页 > 解决方案 > 函数 Illuminate\Mail\Mailer::to() 的参数太少,0 传递了错误 laravel

问题描述

我想从 laravel 发送一封电子邮件确认,但我有下一个错误错误:函数 Illuminate\Mail\Mailer::to() 的参数太少,在 /Applications/MAMP/htdocs/medicalconnect3/vendor/laravel/ 中传递了 0 framework/src/Illuminate/Mail/MailManager.php 位于第 484 行,预期为 1

这是第 484 行中的 MailManager.php

 @param  string  $method
         * @param  array  $parameters
         * @return mixed
         */
        public function __call($method, $parameters)
        {
            return $this->mailer()->$method(...$parameters);
    }

这是我的功能验证用户

public function verifyUser(Request $request)
    {

        $verification_code = \Illuminate\Support\Facades\Request::get('code');

        //first o get
        $user = User::where(['verification_code' => $verification_code])->first();

        if ($user != null) {
            $user->is_verified = 1;

            $user->save();
            return redirect()->route('login')->with(session()->flash('alert-success', 'Tu cuenta ha sido verificada exitosamente, por favor ingresa'));
        }

        return redirect()->route('login')->with(session()->flash('alert-danger', 'Upps código de verificación invalido '));
    }

这是我的注册功能

public function register(Request $request)
    {

        $user = new User();
        $user->prefijo = $request->prefijo;
        $user->cedula = $request->cedula;
        $user->name = $request->name;
        $user->paterno = $request->paterno;
        $user->materno = $request->materno;
        $user->titulo = $request->titulo;
        $user->entidad = $request->entidad;
        $user->email = $request->email;
        $user->telefono = $request->telefono;
        $user->ciudad = $request->ciudad;
        $user->password = Hash::make($request->password);
        $user->verification_code = sha1(time());
        $user->save();

        if ($user != null) {

            //send email with verification link
            MailController::sendSignupEmail($user->name, $user->email, $user->verification_code);

            //show a message
            return redirect()->back()->with(session()->flash('alert-success', 'Tu cuenta ha sido creada. Por favor revisa tu email para realizar la verificación de la cuenta'));
        }

        //show error message
        return redirect()->back()->with(session()->flash('alert-danger', 'Upps algo salio mal, por favor vuelve a intentarlo '));
    }

标签: phplaravellaravel-8

解决方案


似乎您忘记传递应该是$email的第一个参数。Mail::to()->Mail::to((new User(['email' => $email])))->

第一个参数需要一个\Illuminate\Notifications\Notifiablehttps://laravel.com/api/8.x/Illuminate/Notifications/Notifiable.html

请看一下https://laravel.com/api/8.x/Illuminate/Mail.html


推荐阅读