2017-06-09 3 views
2

Mein web.php sieht aus wieSub-Domain Routenname

Route::group(
    [ 
     'domain'  => '{tenant}.' . config('app.url'), 
    ], 
    function() { 
     $this->get('/', '[email protected]')->name('home'); 
    } 
); 

Mein HomeController wie

sieht sieht
/** 
* Show the application dashboard. 
* 
* @param $tenant 
* @return \Illuminate\Http\Response 
*/ 
public function index($tenant) 
{ 
    return view('home', compact('tenant')); 
} 

In app.blade.php Datei wie

<a href="{{ route('home', ['tenant', $tenant]) }}">home</a> 

Verwendung von Sub-Domain Routing wir haben Wildcard zu übergeben {tenant} Wert jedes Mal, wenn wir u se route() sonst knallt es diesen Fehler aus

(3/3) ErrorException 
Missing required parameters for [Route: home] [URI: home]. 

Dies ist überflüssig ganzen controller sowie blade Datei. Gibt es eine Lösung, um die {wildcard} standardmäßig zu binden?

Antwort

1

Erstellen Sie eine neue Funktion, die die vorhandene route()-Funktion verwendet.

Beispiel:

function mdroute ($routeName, $routeData = []) 
{ 
    $tenant = request()->tenant; 

    $routeData['tenant'] => $tenant; 

    return route($routeName, $routeData); 
} 
+0

wo soll ich das definieren? –

+0

Fügen Sie diese Funktion in eine Datei hinzu, die Sie mit Composer laden. Beispiel im Composer: ' ' "autoload": {"files": ["path/to/file"]} '. –

+0

Meinst du diese Methode wie Hilfsfunktion verwenden? –