2015-11-16 9 views

Antwort

3

Abfragezeichenfolgen sollten in Ihrer Route nicht definiert werden, da die Abfragezeichenfolge nicht Teil der URI ist.

Um auf die Abfragezeichenfolge zuzugreifen, sollten Sie das Anforderungsobjekt verwenden. $request->query() gibt ein Array aller Abfrageparameter zurück. Sie können es auch als solche verwenden, um eine einzelne Abfrage param würde $request->query('key')

class MyController extends Controller 
{ 
    public function getAction(\Illuminate\Http\Request $request) 
    { 
     dd($request->query()); 
    } 
} 

Sie Route dann als solche für Kommentare

Route::get('/category/{id}'); 

bearbeiten sein zurückzukehren:

a zu generieren URL Sie können immer noch den URL-Generator in Laravel verwenden, geben Sie einfach ein Array der Abfrageparameter an, die Sie mit der URL generieren möchten.

url('route', ['query' => 'recent', 'order' => 'desc']); 
+0

Ok. Also, wie nenne ich das aus meiner Sicht? –

+0

Ihre Optionen sind Variablen in Ihrem Controller zu setzen und sie in Ihre Ansicht als normal zu übergeben (ich würde dies empfehlen, wie Sie es dann überprüfen können. Denken Sie daran, dass sie Benutzereingaben sind!). Oder Sie können die Fassade direkt in Ihrer Ansicht verwenden 'Request :: query()' – Wader

+0

Die Sache ist, dass ich ' ' dies tat. Ich denke, jetzt kann ich das nicht tun. –

0

Und Ihre URL sollte so aussehen: http://category/1/recent/asc. Außerdem benötigen Sie eine ordnungsgemäße .htaccess Datei in public Verzeichnis. Ohne .htaccess Datei sollte Ihre URL wie folgt aussehen: http://category/?q=1/recent/asc. Aber ich bin nicht sicher über $_GET Parameter (?q=).

+0

Sie missverstanden meine Frage. Ich verstehe, was du sagst. Aber ich möchte das mit Abfragezeichenfolgen tun. –

13

wenn Sie andere Parameter in URL können Sie verwenden;

request()->fullUrlWithQuery(["sort"=>"desc"]) 
+0

GOLD Antwort! Vielen Dank –