Laravel通知未传递数据和获取错误“;必须是App\\Notifications\\User”的实例;

Laravel通知未传递数据和获取错误“;必须是App\\Notifications\\User”的实例;,laravel,Laravel,我试图使用Laravel通知发送电子邮件,但收到此错误 { "message": "Type error: Argument 1 passed to App\\Notifications\\UserResetPasswordNotify::__construct() must be an instance of App\\Notifications\\User, instance of Illuminate\\Database\\Eloquent\\Collection given, c

我试图使用Laravel通知发送电子邮件,但收到此错误

{
    "message": "Type error: Argument 1 passed to App\\Notifications\\UserResetPasswordNotify::__construct() must be an instance of App\\Notifications\\User, instance of Illuminate\\Database\\Eloquent\\Collection given, called in /home/fy3bgmgte060/public_html/svs.com/app/Http/Controllers/Api/LoginController.php on line 143",
    "status_code": 500
}
我的控制器功能

public function resendOTPTest(Request $request)
{
    $user = User::where(['mobile' => $request->mobile])->first();

    Notification::send($user, new UserResetPasswordNotify($user));   

    return response()->json(['message' => 'success','data' => 'OTP Sent', 'success' => true], 200);
}
我的通知文件

<?php

namespace App\Notifications;

use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;

class UserResetPasswordNotify extends Notification
{
    use Queueable;

    public $user;

    public function __construct(User $user)
    {
        $this->user = $user;
    }

    public function via($notifiable)
    {
        return ['mail'];
    }

    public function toMail($notifiable)
    {
        $user = $this->user;
        return (new MailMessage)
            ->from('info@test.com')
            // ->name('Entrance India')
            ->subject('New OTP from SVS ')
            ->markdown('mail.userResetPassword', compact('user'));
    }

    public function toArray($notifiable)
    {
        return [
            //
        ];
    }
}
您需要添加
使用App\User
在通知文件中。

通知
类中包括
用户
类 您正在将
用户
依赖项作为类型提示注入魔术方法
\u cunstuctor
到您的
通知
类中。
您必须确保
在那里可用。
只需在
通知
类中使用它即可

使用App\User


在通知文件中添加
use-App\User
<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use App\Order;

class User extends Authenticatable
{
    use Notifiable;

    protected $fillable = [
         'fname','lname', 'email','gender', 'password' 
    ];

    protected $hidden = [
        'password', 'remember_token',
    ];
}