小编shr*_*cod的帖子

TypeError: Illuminate\Auth\SessionGuard::login(): 参数 #1 ($user) 的类型必须是 Illuminate\Contracts\Auth\Authenticatable,, App\Models\Admin giv

我是 Laravel 的初学者。我正在使用 Guard 进行多重授权。我在管理员登录中遇到此问题: TypeError Illuminate\Auth\SessionGuard::login(): Argument #1 ($user) 必须是 Illuminate\Contracts\Auth\Authenticatable、App\Models\Admin 类型,在中调用C:\Users\DELL\survey\app\Http\Controllers\AdminController.php 第 34 行

这是 AdminController.php 文件

<?php

namespace App\Http\Controllers;
use App\Models\Admin;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Contracts\Auth\Authenticatable;

class AdminController extends Controller
{
    public function login()
    {
        return view('admin.login');
    }
    public function authenticate(Request $request)
    {
        $request->validate([
            'email' => ['required', 'email'],
            'password' => ['required']
        ]);

        /** @var Admin $model */
        $model = Admin::query()->where('email', $request->get('email'))->firstOrFail();

        if(!$model){
            return back()->with('error', 'Email or password is incorrect');
        }

        if (!Hash::check($request->get('password'), $model->password)) { …
Run Code Online (Sandbox Code Playgroud)

php authentication laravel

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

authentication ×1

laravel ×1

php ×1