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 передается в App \ Провайдеры \ RouteServiceProvider :: {закрытие}() должен быть экземпляр приложения \ Models \ App, экземпляр Указанный цвет \ Маршрутизация \ Маршрутизатор.

Я не знаю, как это работает.

Большое спасибо за любой ответ!

ответ

0

Вы должны определить свои явные модели привязок в boot способе RouteServiceProvider класса:

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'); 
Смежные вопросы