如何在Laravel路由中设置动态前缀

时间:2015-04-18 20:04:14

标签: laravel-4 locale laravel-routing

下面是这种情况 - 我正在构建一个基于区域的站点,我需要对其进行设置,以便路径的第一段是一个区域,即类型:

www.mysite.com/{region}

目前我的路线设置如下:

www.mysite.com/businesses

www.mysite.com/businesses/show

我尝试了很多技巧,但出于某种原因,我无法解决这个问题:

www.mysite.com/{region}/businesses

以这种方式我需要通过{region}变量进行过滤,并且{region}变量必须在站点中添加每个url,同时{region}变量也应该可以在控制器中访问。我看了一下本地化选项,除了我不想在这里更改语言。我正在寻求实施以下内容:

www.mysite.com/barcelona/businesses

www.mysite.com/new-york/businesses

我已经有一张包含所有地区和slu and以及所需关系的表格。试着让它发挥作用。

1 个答案:

答案 0 :(得分:2)

在所有其他路线的基础上添加区域路线,我有一个项目的类似功能,并为我修复它。

Route::get('{region?}/businesses', array(
   'as' => 'regionBusinesses',
   'uses' => 'RegionBusinessesController@getBusinesses'
))->where('region', '.*');

在您的控制器

class RegionBusinessesController extends SomeController {

public function getBusinesses($region) {
    return View::make('YOUR_VIEW_NAME')->withBusinesses($this->YOUR_MODEL->FETCH_BUSINESSES_METHOD($region));
}
相关问题