Laravel 5.3: Class 公司不存在
Laravel 5.3: Class company does not exist
我正在构建一个业务目录,其中将根据用户的角色有 2 个不同的仪表板,可以是:Admin 或 Company .
为了处理这个问题,开发了以下程序:
1- 创建一个新的中间件:
php artisan make:middleware Company
2- Company 中间件的代码(admin 和 comunity 的代码相同):
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class Company
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(Auth::check()){
if(Auth::user()->isCompany()){
return $next($request);
}
}
return redirect('/');
}
}
3- 在我的用户模型中添加了以下函数:
public function isCompany(){
if($this->role->Role_Type == "Company" && $this->is_active == 1){
return true;
}
return false;
}
4- 处理路由
Route::group(['middleware'=>'company'], function(){
Route::get('/company', function(){
return view('company.index');
});
});
5- 创建了一个角色为公司的新用户
目前,一旦尝试使用该用户登录,总是会收到以下消息提示:
Container.php 第 734 行中的 ReflectionException:
Class公司不存在
有什么解决办法吗?
注意:已经尝试过:composer dump-autoload
我看到的第一个问题是,在您粘贴的代码中,class 名称是 Community
而不是 Company
。 class 名称应与文件名称、大小写和所有名称匹配。另外,你能分享你的中间件文件吗?如果命名不是问题,则您的提供程序或内核文件之一可能存在引用问题。
我正在构建一个业务目录,其中将根据用户的角色有 2 个不同的仪表板,可以是:Admin 或 Company .
为了处理这个问题,开发了以下程序:
1- 创建一个新的中间件:
php artisan make:middleware Company
2- Company 中间件的代码(admin 和 comunity 的代码相同):
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class Company
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(Auth::check()){
if(Auth::user()->isCompany()){
return $next($request);
}
}
return redirect('/');
}
}
3- 在我的用户模型中添加了以下函数:
public function isCompany(){
if($this->role->Role_Type == "Company" && $this->is_active == 1){
return true;
}
return false;
}
4- 处理路由
Route::group(['middleware'=>'company'], function(){
Route::get('/company', function(){
return view('company.index');
});
});
5- 创建了一个角色为公司的新用户
目前,一旦尝试使用该用户登录,总是会收到以下消息提示:
Container.php 第 734 行中的 ReflectionException: Class公司不存在
有什么解决办法吗?
注意:已经尝试过:composer dump-autoload
我看到的第一个问题是,在您粘贴的代码中,class 名称是 Community
而不是 Company
。 class 名称应与文件名称、大小写和所有名称匹配。另外,你能分享你的中间件文件吗?如果命名不是问题,则您的提供程序或内核文件之一可能存在引用问题。