在Cakephp中创建有意义的添加URL
对于我的网站,我有许多在Cakephp中创建有意义的添加URL,cakephp,url-routing,crud,url,Cakephp,Url Routing,Crud,Url,对于我的网站,我有许多订单,每个订单都包含许多引号。报价始终绑定到单个订单,因此在quotes控制器中,我添加了一个引用其订单的报价: function add($orderId) { // function here } 调用的URL看起来有点像 http://www.example.com/quotes/add/1 我突然想到,如果URL看起来更像 http://www.example.com/orders/1/quotes/add 由于报价已添加到订单1中 在CakePHP中
订单
,每个订单都包含许多引号
。报价始终绑定到单个订单,因此在quotes控制器中,我添加了一个引用其订单的报价:
function add($orderId) {
// function here
}
调用的URL看起来有点像
http://www.example.com/quotes/add/1
我突然想到,如果URL看起来更像
http://www.example.com/orders/1/quotes/add
由于报价已添加到订单1中
在CakePHP中可以实现这一点吗?请查看有关的文档 像这样的事情应该可以做到:
Router::connect(
'/orders/:id/quotes/add',
array('controller' => 'quotes', 'action' => 'add'),
array('id' => '[0-9]+')
);
您可以使用quoteController::add()
中的$this->params['ID']
访问ID
编辑:
另外,请查看有关的文档
可以将ID作为控制器操作的参数传入,如下所示:
Router::connect(
'/orders/:id/quotes/add',
array('controller' => 'quotes', 'action' => 'add'),
array('pass' => array('id'), 'id' => '[0-9]+')
);
然后,您可以在
QuotesController::add($ID)
中使用$ID
访问该ID。请查看文档以了解更多信息
像这样的事情应该可以做到:
Router::connect(
'/orders/:id/quotes/add',
array('controller' => 'quotes', 'action' => 'add'),
array('id' => '[0-9]+')
);
您可以使用quoteController::add()
中的$this->params['ID']
访问ID
编辑:
另外,请查看有关的文档
可以将ID作为控制器操作的参数传入,如下所示:
Router::connect(
'/orders/:id/quotes/add',
array('controller' => 'quotes', 'action' => 'add'),
array('pass' => array('id'), 'id' => '[0-9]+')
);
然后,您可以在QuotesController::add($ID)
中使用$ID
访问ID