2017-08-05 2 views
0

Voici mon itinéraire:Obtenir le lastest limaces de url dans Laravel

Route::get('{slug?}/{slug2?}/{slug3?}', '[email protected]'); 

Voilà comment je suis arrivé à la valeur slug dans mon fournisseur de services:

$this->app->request->route('slug2') 

Somethings mon URL ressemble base_url/slug ou base_url/slug/slug2 ou base_url/slug/slug2/slug3. Je suis à la recherche d'une façon laravel pour obtenir la dernière limace toujours n'importe comment mon url ressemble. Y-a-t-il un moyen de faire ça ?

Thx

+0

Je pense que la façon dont votre itinéraire est défini, vous devez obtenir l'URL en cours et prenez la dernière partie vous-même. – Andreas

+0

@Andreas Je sais que mon itinéraire n'est pas la solution parfaite. Si vous connaissez un meilleur moyen de le faire, veuillez poster une solution. Thx beaucoup :) – Chester

Répondre

2

L'utilisation de ce que je peux obtenir la limace lastest de mon URL. Mais je suis toujours à la recherche d'une meilleure solution même si je dois changer de route. Voici le code:

use Illuminate\Support\Facades\Request; 
.... 
Request::segment(count(Request::segments())) 
+0

Je pense que c'est la façon la plus sensée d'obtenir ce qui est réellement dans l'URL. Sinon, si votre route est 'show ($ slug = null, $ slug2 = null, $ slug3 = null)' vous pouvez faire '$ lastSlug = ($ slug3?: ($ Slug2?: $ Slug?: Null))' – apokryfos

-1

Utilisation retour

arrière();

Redirect à la page précédente

+0

Je n'ai pas besoin de la page précédente url .J'ai besoin de la dernière limace de mon URL actuelle :) – Chester

+0

Répondre dans les commentaires du premier poste –

0

Vous pouvez utiliser explode

$url = base_url/slug/slug2/slug3; 
$slugs = explode ("/", $url); 
$latestslug = $slugs [(count ($slugs) - 1)]; 
+0

avec l'explosion, c'est la façon codée, je suis à la recherche d'une méthode ou smth défini dans Laravel pour ce faire :) – Chester

+0

Utiliser la fonction publique getRouteKey() { return $ this-> slug; } Après retour() Voir https://laravel.com/docs/5.4/redirects –