创建路由?在控制器内 action_index?小花
Creating a route? Within a controller action_index? Kohana
我正在与 kohana 合作,因为开发速度非常快。现在我想实现一些我真的想不出解决方法的东西。
我要实现的,有控制器。它被称为 Controller_Restaurants
但是那些餐馆,是按省分组的,点击省后,他们按城市分组,然后显示餐馆列表。
所有城市和省份都已添加到带有字段的特定数据库中。
我想在我的控制器中创建一个路由。那么我可以实现以下 link:
domain/restaurants/province/city/restaurant-name
?
或者我是不是在胡思乱想,我应该以其他方式解决这个问题吗?
可以在 Kohana 的控制器内部创建路由,但它不会帮助您解决问题,因为路由已经发生。
您需要做的是按照@kingkero 的建议创建一个带有可选参数的路由:
restaurants(/<province>(/<city>(/<name>)))
然后从控制器访问 URL 中的参数,如下所示:
$province = $this->request->param('province');
...
像这样构建路由:
Route::set('restaurants', 'restaurants(/<province>(/<city>(/<name>))))',
array(
'controller' => 'restaurants',
'action' => 'index',
));
它应该是这样工作的。
我正在与 kohana 合作,因为开发速度非常快。现在我想实现一些我真的想不出解决方法的东西。
我要实现的,有控制器。它被称为 Controller_Restaurants
但是那些餐馆,是按省分组的,点击省后,他们按城市分组,然后显示餐馆列表。
所有城市和省份都已添加到带有字段的特定数据库中。
我想在我的控制器中创建一个路由。那么我可以实现以下 link:
domain/restaurants/province/city/restaurant-name
?
或者我是不是在胡思乱想,我应该以其他方式解决这个问题吗?
可以在 Kohana 的控制器内部创建路由,但它不会帮助您解决问题,因为路由已经发生。
您需要做的是按照@kingkero 的建议创建一个带有可选参数的路由:
restaurants(/<province>(/<city>(/<name>)))
然后从控制器访问 URL 中的参数,如下所示:
$province = $this->request->param('province');
...
像这样构建路由:
Route::set('restaurants', 'restaurants(/<province>(/<city>(/<name>))))',
array(
'controller' => 'restaurants',
'action' => 'index',
));
它应该是这样工作的。