如何在蛋糕php中的控制器动作中传递两个参数?

时间:2010-07-15 15:27:50

标签: cakephp

只传递控制器中的两个参数?

3 个答案:

答案 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”