只传递控制器中的两个参数?
答案 0 :(得分:15)
mysite.com/myController/myAction/param1/param2
控制器中的:
function myAction($arg1,$arg2)
{...}
答案 1 :(得分:5)
在视图中创建链接。
echo $this->Html->link('',array('controller'=>'Vehicles','action'=>'deleteimage',$param1,$param2),array('confirm'=>'Are you sure you want to delete the image?'));
在上面的链接中,我向deleteimage
控制器的Vehicles
函数发送了两个参数。
在控制器中通过public function deleteimage($id, $image)
答案 2 :(得分:4)
您可以使用named parameters,如下所示:
example.com/controller/action/param1:value/param2:value
在这个canse中你会在你的控制器中找到'param1'和'param2'$ this-> passedArgs。
您还可以定义自定义路线:
Router::connect('/news/:date/:article_name/:id',
array('controller'=>'articles', 'action'=>'view'),
array('pass' => array('id'), 'id'=>'[\d]+')
);
在这种情况下,将使用'id'作为参数调用ArticlesController中的操作视图(并且只有当id通过仅包含数字的检查时才会匹配路由)。然后,您还可以在变量$ this-> params。
中访问“date”和“article_name”