Ich habe ein Suchformular in der Navigationsleiste meiner Laravel 4 App. Wenn jemand in die Suche eingibt und ihn einreicht, möchte ich, dass die Abfragen nur basierend auf dem Bereich der Website ausgeführt werden, auf dem sie sich befinden. Beispiel: Wenn sie sich auf der Blog-Seite befinden, möchte ich, dass sie nur Blog-Posts zurückgibt, und wenn sie auf der Benutzerseite sind, möchte ich, dass sie nur eine Liste von Benutzern anzeigt.Laravel 4 - Abrufen des aktuellen Routennamens auf versteckter Eingabe für die Suche
Es sei denn, ich vermisse etwas (sicherlich möglicherweise, weil ich neu bei Laravel bin!) Ich kann dies mit getCurrentRoute() -> getPath() tun. Aber ich muss dies aus dem Formular heraus machen, denn wenn ich es in einem Controller versuche, hat es nicht mehr die alte Route. Also habe ich ein verstecktes Feld auf meiner Form etwa so:
{{ Form::hidden('route', '{{{Route::getCurrentRoute()->getPath()}}}') }};
Doch die "getCurrentRoute() -> getPath()" nie richtig ausgewertet wird. Das Formularfeld druckt es buchstäblich aus:
<input name="route" type="hidden" value="<?php echo e(Route::getCurrentRoute()->getPath()); ?>">
Kennt jemand eine Möglichkeit, dies, zur Arbeit zu kommen, oder gibt es einen besseren Weg, dies zu tun, dass ich völlig fehlenden bin? Auch hier kann ich dies nicht wie normale in einen Controller eingefügt werden, da an diesem Punkt die Strecke
// Search
Route::post('search', array('as' => 'search', 'uses' => '[email protected]'), function(){
});
an welcher Stelle es immer
gesendet wurde der Routenname denkt, „suchen“.
JA, das funktioniert ziemlich perfekt. Vielen Dank! Es kommt zurück mit einem/so mein Wert ist "/ Blog", aber das ist in Ordnung, weil ich dafür mit einem if Statment überprüfen kann! Vielen Dank! – user2444007