Данные зарегистрированного пользователя не сохраняются в базе данных. Ларавел 5.2

Я пытался реализовать проверку подлинности на основе ролей. Аутентификация выполнена правильно. Если пользователь только админ, то он может зарегистрировать нового сотрудника. Но дело в том, что данные, введенные в регистрационную форму, не сохраняются в базе данных. Перенаправления маршрута правильные, но данные не сохраняются. Я использую встроенную систему аутентификации laravel 5.2.

Route:: get('/register',['middleware'=> 'roles', function(){

    return view('auth.register');
}]);

промежуточный слой:

public function handle($request, Closure $next)
    {
        if ($request->user()==null)
        {
            return redirect('/login');

        } 
        if (!$request->user()->isAdmin()){
            return redirect('books');
        }

        return $next($request);

    }
}

Модель пользователя:

  public function roles(){
        return $this->belongsToMany('App\Role','roles_users', 'user_id', 'role_id');
    }
    public function isAdmin() {
        return in_array(2, $this->roles()->pluck('role_id')->all());
    }

если я удаляю промежуточное ПО, тогда зарегистрированные данные сохраняются правильно.

1 ответ

Я решил свою проблему. Во встроенном AuthController есть конструктор с предопределенным промежуточным программным обеспечением. Удалил это. Мой код работает так, как я хотел.

Другие вопросы по тегам