我的AdminMiddleware代码是::
<?php
namespace App\Http\Middleware;
use Closure;
use Sentinel;
class AdminMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(Sentinel::check()&&Sentinel::getUser()->roles()->first()->slug =='admin')
return $next($request);
else
return redirect('/accessories');
}
}
当我想去::
Route::get('/earnings', 'AdminController@earnings')->middleware('admin');
它显示如下错误:
试图获得非对象的属性'slug'
这可能是因为Sentinel::getUser()->roles()
不是一个对象,意思是:用户没有任何角色
添加另一张支票
if(Sentinel::check() && isset(Sentinel::getUser()->roles) && Sentinel::getUser()->roles()->first()->slug =='admin'){
//Other code
}