2016-12-30 4 views
1

サブドメインを定義したグループにルートモデルバインドを設定する必要があります。Laravel 5.3ドメインを持つルートグループのルートモデルバインド

私はこのコードを実行します。

Route::bind('app', function ($value) { 
    return App\Models\App::where([ 
     'slug' => $value, 
    ])->firstOrFail(); 
}); 

Route::group(['domain' => '{appSlug}.upman.dev'], function(App\Models\App $app) {}); 

を私はエラーメッセージが表示されます:アプリケーション\プロバイダに渡さ

引数1 \ RouteServiceProvider :: {閉鎖}() でなければなりませんApp \ Models \ Appのインスタンス、インスタンス \ Routing \ Routerを指定します。

私は知らない、それを得る方法。

ご回答ありがとうございました!

答えて

0

あなたはRouteServiceProviderクラスのboot方法であなたの明示的なモデルバインディングを定義する必要があります

public function boot(){ 

    parent::boot(); 

    Route::bind('app', function ($value) { 
      return App\Models\App::where([ 
       'slug' => $value, 
      ])->firstOrFail(); 
    }); 
} 
+0

それでも影響はありませんが、多少の誤差はあります。 – mabezdek

0

それはこのようになります必要があります:あなたはあなたのミドルウェアで使用することができ、このパラメータを無効にするには

class IndexPageController extends Controller 
{ 
    public function index($domain, App\IndexPage $page = null) { 
     //$domain will send first parameter 
    } 
} 

$request->route()->forgetParameter('domain');