创建路由?在控制器action_index?Kohana


Creating a route? Within a controller action_index? Kohana

我正在使用kohana,因为开发速度非常快。现在我想实现一些我想不出变通办法的事情。

我要实现的,有一个控制器。它叫做Controller_Restaurants但是,这些餐馆是按省份分组的,点击省份后,它们按城市分组,然后显示餐馆列表。

所有的城市和省份已经添加到特定的数据库中。

我想在控制器中创建一个路由。所以我可以实现以下链接:

domain/restaurants/province/city/restaurant-name

?

或者我像个笨蛋一样思考,我应该解决这个问题吗?

像这样构建你的路由:

Route::set('restaurants', 'restaurants(/<province>(/<city>(/<name>))))',
    array(
        'controller' => 'restaurants',
        'action' => 'index',
    ));

应该是这样的。

可以在Kohana的控制器中创建路由,但它不会帮助你解决问题,因为路由已经发生了。

你需要做的是像@kingkero建议的那样创建一个带有可选参数的路由:

restaurants(/<province>(/<city>(/<name>)))

然后从控制器中访问URL中的参数,如下所示:

$province = $this->request->param('province');
...