如何在laravel 5.2中使用相同的url但不同的控制器

时间:2017-03-21 08:35:39

标签: laravel-5.2

我有一个问题是如何使用相同的url但不同的控制器,我已经尝试了

$router->get('/{slug}', 'ProductCategoryController@_handle')->name('productcategory');
$router->get('/{slug?}', 'PageController@_handle')->name('page');

使用时,我就这样做了

URL::route('productcategory', $slug)
URL::route('page', $slug)

但默认情况下,它只能从上到下工作,只使用第一个网址。所以我想问一下它如何单独使用url。

希望每个人都能帮助我,我非常感谢所有事情。

1 个答案:

答案 0 :(得分:0)

我不认为Laravel有任何内置的解决方案,但你可以这样做:

$router->get('/{slug?}', function($slug = null) {
    if (is_null($slug)) {
        retrun app('App\Http\Controllers\PageController')->_handle();
    } esle {
        retrun app('App\Http\Controllers\ProductCategoryController')->_handle($slug);
    }
});