这是我想在routes.php文件
上完成的if(Auth::user()->isCompany()){
$middleware = "auth.company";
$namespace = 'Company';
} else {
$middleware = "auth.admin";
$namespace = null;
}
Route::group(['prefix' => 'admin'], 'middleware' => $middleware , 'namespace' => $namespace , function(){
Route::get('/','AdminController@getIndex');
Route::get('users', 'UsersController@getIndex');
});
我想为每个用户角色使用相同的路由组,但是将根据用户角色由不同命名空间下的不同控制器处理。
我不想将它放在同一个控制器上,因为它会使控制器陷入困境。
这里的问题是我无法访问Auth,我应该怎么做?
Auth::user()
null
因此导致此错误Trying to get property of non-object
我目前正在登录。如果我删除这段代码,我仍然登录。这是在使用auth中间件的路由组内
更新:我尝试过@samrap的答案。以下是我的routes.php
文件的外观。我仍然收到Trying to get property of non-object
错误
<?php
Route::group(['middleware' => 'auth'], function()
{
dd(\Auth::user()->id);
// Insert the code above here ...
});
答案 0 :(得分:0)
if ($user = \Auth::user() and $user->isCompany())