2016-10-27 9 views
1

ユーザーの役割に応じて2つの異なるダッシュボードが作成されます。管理者または会社です。Laravel 5.3:クラス会社は存在しません

これを処理するために、以下の手順を開発した:

1-新しいミドルウェア作成:についても同様である会社ミドルウェアの

php artisan make:middleware Company 

2-コード(管理者や地域コミュニティ):目を追加しました

<?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-私のUserモデルにおけるe。次の関数:現時点で役割会社

を持つ新しいユーザーを作成されたルーティング

Route::group(['middleware'=>'company'], function(){ 
    Route::get('/company', function(){ 
     return view('company.index'); 
    }); 
}); 

5-取扱

public function isCompany(){ 
    if($this->role->Role_Type == "Company" && $this->is_active == 1){ 
     return true; 
    } 
    return false; 
} 

4-、そのユーザーとログインしようとすると、常にこのメッセージでプロンプトが表示されます。

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

これを解決する方法はありますか?注意することは

は:すでに試みた:composer dump-autoload

答えて

1

私が見る最初の問題は、あなたが貼り付けコードで、クラス名がCommunity代わりのCompanyであるということです。クラス名は、ファイルの名前、大文字と小文字のすべてと一致する必要があります。また、ミドルウェアファイルを共有できますか?命名が問題でない場合は、プロバイダまたはカーネルファイルの中に参照の問題がある可能性があります。

+0

私に警告してくれてありがとう、今すぐチェックしてください。 私の謝罪、コード内のコピー/ペーストを行う問題は正しいです – brotherperes

+0

あなたのカーネルファイルも共有できますか? –

+1

クラス「会社」を持っていないと不平を言って以来、私はそのクラスへのあなたの参照のすべてが正確に大文字にされていることを確かめるでしょう。 –

関連する問題