2015-01-08 17 views

risposta

0

È possibile aggiungere il numero di parametri all'URL, come si come, ad esempio:

Route::get('/books/{id}/{name}', '[email protected]'); 

Ora, quando si desidera creare un URL per questa pagina è possibile effettuare le seguenti operazioni:

URL::action('[email protected]', ['id' => 1, 'name' => 'My awesome book']); 

Aggiornamento:

Se si è certi che non ci sarà mai due libri con il stesso titolo, puoi semplicemente usare il nome del libro nell'URL. Hai solo bisogno di fare questo:

Route::get('/books/{name}', '[email protected]'); 

Nella funzione showBook è necessario per ottenere il libro dal database utilizzando il name al posto del id. Incoraggio vivamente di usare sia l'ID che il nome perché altrimenti potresti metterti nei guai perché non penso che il nome del libro sarà sempre unico.

+0

Penso che tu frainteso quello che voglio fare esattamente .. In l'url bar, non voglio avere un URL che sembra/books/1 piuttosto/book/name-of-book. La tua risposta fa il lavoro? – arakibi

+0

Ho modificato la mia risposta per voi :) – Jerodev

+0

Preferisco davvero non farlo in questo modo, mi piacerebbe restare con l'id come parametro per trovare il libro dal database. ma mostra il suo nome nella barra degli indirizzi – arakibi

0

Si potrebbe anche fare qualcosa di simile:

Route::get('books/{name}', function($name){ 
    $url = explode("-", $name); 
    $id = $url[0]; 
    return "Book #$id"; 
}); 

Così si può ottenere libro di id se si passa un URL del tipo: http://website.url/books/1-book-name

Problemi correlati