Laravel 5 Illuminate \ Auth \ SessionGuard :: login()错误

时间:2019-07-27 12:29:37

标签: laravel laravel-5.8 laravel-validation laravel-authentication

  

传递给Illuminate \ Auth \ SessionGuard :: login()的参数1必须是Illuminate \ Contracts \ Auth \ Authenticatable的实例,Illuminate \ Http \ RedirectResponse的实例

我有我的Register控制器,用于在创建用户之前检查成员ID是否存在于单独的成员表中。对于现有的会员ID,它可以正常工作,但是当用户输入不存在的ID时,我需要使用错误消息将其重定向到同一注册页面。但是我得到的只是上面的错误。请注意,我正在使用

Illuminate\Foundation\Auth\User as Authenticatable

在我的用户模型中,而且我的fillables数组也是正确的。

protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => ['required', 'string', 'max:255'],
            'membership_id' => ['required', 'string', 'unique:users'],

        ]);
    }


  protected function create(array $data)
    {   
        $member = Member::where('member', '=', Input::get('membership_id'))->first();
        if($member){
            return User::create([
            'name' => $data['name'],
            'membership_id' => $data['membership_id'],
        ]);
        }elseif (!$member) {
            return \Redirect::back()->withErrors(['message' =>'Membership Id does not exist']);
        }
    }

1 个答案:

答案 0 :(得分:0)

像这样更改您的会员等级    

namespace App;

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

class Member extends Authenticatable
{
use Notifiable;
}