2016-10-27 8 views
1

관리자 또는 회사 일 수있는 사용자의 역할에 따라 2 개의 대시 보드가있는 비즈니스 디렉토리를 구축하고 있습니다. 이 문제를 처리하기 위해Laravel 5.3 : 클래스 회사가 존재하지 않습니다.

는 다음과 같은 절차를 개발 :에 대해 동일 회사의 미들웨어

php artisan make:middleware Company 

2 코드 (:

1 새로운 미들웨어 만들기 관리자 및 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는 순간 역할 회사

새 사용자를 만든 취급, 해당 사용자와 로그인을 시도하면이 메시지와 함께 항상 프롬프트가 표시됩니다.

ReflectionException in Container.php line 734: Class company does not exist

해결 방법에 대한 아이디어가 있습니까?

가 참고 : 이미 시도 : composer dump-autoload

답변

1

내가 볼 첫 번째 문제는 코드에서 붙여 넣은 것입니다, 클래스 이름은 Community 대신 Company입니다. 클래스 이름은 파일 이름, 대소 문자 모두와 일치해야합니다. 또한 미들웨어 파일을 공유 할 수 있습니까? 이름이 문제가 아닌 경우 공급자 또는 커널 파일 중 하나에 참조 문제가있을 수 있습니다.

+0

나를 경고 해 주셔서 감사합니다. 지금 확인하십시오. 코드에 복사/붙여 넣기를하는 것에 대해 사과드립니다. – brotherperes

+0

커널 파일을 공유 할 수 있습니까? –

+1

클래스 "회사"가 없다는 불평 이후, 나는 그 클래스에 대한 귀하의 모든 참조가 올바르게 대문자 인지도 확인할 것입니다. –