Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 注册用户数据未保存到数据库。拉威尔5.2_Php_Laravel_Authentication_Laravel 5.2_Roles - Fatal编程技术网

Php 注册用户数据未保存到数据库。拉威尔5.2

Php 注册用户数据未保存到数据库。拉威尔5.2,php,laravel,authentication,laravel-5.2,roles,Php,Laravel,Authentication,Laravel 5.2,Roles,我尝试实现基于角色的身份验证。身份验证已正确完成。如果用户是管理员,那么他可以注册新员工。但问题是登记表中的数据并没有保存到数据库中。路由重定向正确,但未保存数据。我正在使用laravel 5.2的内置身份验证系统 Route:: get('/register',['middleware'=> 'roles', function(){ return view('auth.register'); }]); 中间件: public function handle($request,

我尝试实现基于角色的身份验证。身份验证已正确完成。如果用户是管理员,那么他可以注册新员工。但问题是登记表中的数据并没有保存到数据库中。路由重定向正确,但未保存数据。我正在使用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());
    }

如果我删除了中间件,那么注册的数据就会正确保存。

我解决了我的问题。内置AuthController中有一个带有预定义中间件的构造函数。删除它。我的代码按照我的要求工作