无法从RouteServiceProvider或routes.php文件

时间:2015-09-09 19:04:49

标签: php laravel-routing laravel-5.1

这是我想在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 ...
});

1 个答案:

答案 0 :(得分:0)

if ($user = \Auth::user() and $user->isCompany())