我可以使用Router :: connect 2x CakePHP
编写自己的自动路线吗?
我需要在数据库中编写我的路由,并使用我的数据库将参数传递给routes.php文件,以建立友好的URL。
我有类似的东西(但我必须手工完成):
Router :: connect ('/ Mycity / gifts / *', array ('controller' => 'shops', 'action' => 'result', 'F', null, '1', '4'));
我需要这样的东西(自动化流程):
Router::connect('/'.$city.'/'.$shop.'/*',array('controller'=>'shops','action'=>'result','.$genre.',null,'1','4'));
答案 0 :(得分:0)
首先需要实例化对象(更多信息Using Model in routes file, cakephp)
// City model
App::uses('City', 'Model');
$cityModel = new City();
$cities = $cityModel->find('all');
// Shop model
App::uses('Shop', 'Model');
$shopModel = new Shop();
$shops = $shopModel->find('all');
然后你可以遍历它们并创建动态路线
foreach ($cities as $city) {
foreach ($shops as $shop) {
Router::connect(/* your params */);
}
}
但要小心,如果有这么多记录,只要查询商店和城市的组合是否存在就可以更快,如果存在,那么只需创建一条路线。