Аргумент 1, переданный в Illuminate \ Auth \ SessionGuard :: login (), должен быть экземпляром Illuminate \ Contracts \ Auth \ Authenticatable, экземпляром Illuminate \ Http \ RedirectResponse
У меня есть контроллер регистра, который проверяет, существует ли идентификатор членства в отдельной таблице-члене перед созданием пользователя. Для существующего идентификатора членства он работает нормально, но когда пользователь вводит несуществующий идентификатор, мне нужно, чтобы он перенаправлял на ту же страницу реестра с сообщением об ошибке. Но все, что я получаю, это ошибка выше. Обратите внимание, что я использую
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']);
}
}