Php 在laravel中对null调用成员函数isAdmin()
如果用户是管理员,我想进行基本身份验证,然后请求下一步,否则重定向到主页 User.phpPhp 在laravel中对null调用成员函数isAdmin(),php,laravel-5.2,fatal-error,Php,Laravel 5.2,Fatal Error,如果用户是管理员,我想进行基本身份验证,然后请求下一步,否则重定向到主页 User.php 这是因为没有用户会话。中间件仅在用户登录时工作。因此,您需要先登录,然后检查中间件请尝试以下操作:在User.php模型上将您的方法更改为静态 static function isAdmin(){ if ($this->role()->name=="administrator"){ return true; } retur
这是因为没有用户会话。中间件仅在用户登录时工作。因此,您需要先登录,然后检查中间件请尝试以下操作:在User.php模型上将您的方法更改为静态
static function isAdmin(){
if ($this->role()->name=="administrator"){
return true;
}
return false;
}
下一步:修改中间件,它应该可以工作
<?php
namespace App\Http\Middleware;
use Closure;
class Admin
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (auth()->check()){
if (\Admin::isAdmin()){
return $next($request);
}
}
return abort(404); //redirect the user to not found page.
}
}
@HilmiErdemKEREN我该怎么办do@HilmiErdemKERENnull
,为什么它的null.iam会登录,然后也null
@HilmiErdemKEREN你能帮我吗:)
<?php
Route::get('/', function () {
return view('welcome');
});
Route::get('/admin',function(){
return view('admin.index');
});
Route::group(['middleware'=>'admin'],function(){
Route::resource('/admin/users','AdminUsersController');
});
Route::auth();
Route::get('/home', 'HomeController@index');
static function isAdmin(){
if ($this->role()->name=="administrator"){
return true;
}
return false;
}
<?php
namespace App\Http\Middleware;
use Closure;
class Admin
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (auth()->check()){
if (\Admin::isAdmin()){
return $next($request);
}
}
return abort(404); //redirect the user to not found page.
}
}