尝试多用户身份验证,它一直说传递的参数实例错误

Trying Multiple User Auth, it keep saying wrong instance of argument passed

我在尝试使用守卫登录多个用户时遇到此错误,但无法理解需要传递的实例:

Argument 1 passed to 
Illuminate\Auth\EloquentUserProvider::validateCredentials() must be an 
instance of Illuminate\Contracts\Auth\Authenticatable, instance of 
App\Employs given, called in /var/www/html/crmproject/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php on line 379

这是我的授权控制器:

<?php 
namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;

class EmploysLoginController  extends Controller
{
 use AuthenticatesUsers;

 protected $guard = 'Employs';
/**

 * Where to redirect users after login.

 *

 * @var string

 */

protected $redirectTo = '/Employs';

/**

 * Create a new controller instance.

 *

 * @return void

 */

public function __construct()
{
    $this->middleware('guest')->except('logout');
}

public function showLoginForm()
{
    return view('auth.employe-login');
}

public function login(Request $request)
{

    if (auth()->guard('Employs')->attempt(['email' => $request->email, 'password' => $request->password])) {

        dd(auth()->guard('Employs')->user());
    }

    return back()->withErrors(['email' => 'Email or password are wrong.']);
 }
}

这是我的模特:

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Authenticatable;
// use Illuminate\Contracts\Auth\Authenticatable as 
AuthenticatableContract;

class Employs extends Model// implements AuthenticatableContract 
{
  protected $primaryKey = 'employ_id';
}

我尝试了很多提供的解决方案 online/Whosebug 但我经常遇到这个错误,如果你发现这个问题有歧义,请在投反对票之前询问我上次在这里尝试这个问题。

你应该像这样创建一个模型:

型号

    <?php

        namespace App;

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

        class Employs extends Authenticatable
        {
            use Notifiable;

            protected $guard = 'Employs';

            /**
             * The attributes that are mass assignable.
             *
             * @var array
             */
            protected $fillable = [
                'name', 'email', 'password',
            ];

            /**
             * The attributes that should be hidden for arrays.
             *
             * @var array
             */
            protected $hidden = [
                'password', 'remember_token',
            ];
        }

我希望这对你有用。