我正在使用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');
...