从Laravel的网址获取最新的slu ..

时间:2017-08-05 15:36:53

标签: php laravel slug

这是我的路线:

Route::get('{slug?}/{slug2?}/{slug3?}', 'PageController@show');

这就是我在服务提供商中获取slug值的方法:

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

我的网址看起来像base_url/slugbase_url/slug/slug2base_url/slug/slug2/slug3。无论我的网址如何,我都在寻找一种最好的方法来获得最新的slu ..有没有办法做到这一点 ?

THX

4 个答案:

答案 0 :(得分:2)

使用这个我可以从我的网址获得最新的slu ..但即使我必须改变路线,我仍在寻找更好的解决方案。这是代码:

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

答案 1 :(得分:0)

您可以使用explode

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

答案 2 :(得分:0)

虽然不是一种优雅的方法,但这可以起作用

$has_valid_slug = count($request->route()->parametersWithoutNulls());

if ($has_valid_slug) {

    $last_slug_key = key(array_slice($request->route()->parametersWithoutNulls(), 
                                     -1, 1, TRUE ));

    $last_slug = $request->route()->parametersWithoutNulls()[$last_slug_key];

}

https://laravel.com/api/5.4/Illuminate/Routing/Route.html#method_parametersWithoutNulls

答案 3 :(得分:-3)

使用

  

返回();

重定向到上一页