CakePHP 2.3.0上表单->postLink中的多个参数

CakePHP 2.3.0上表单->postLink中的多个参数,php,cakephp,cakephp-2.3,Php,Cakephp,Cakephp 2.3,是否可以使用FormHelper的方法postLink将多个参数传递给控制器中的操作 我没有通过使用选项数组来实现这一点。文档中没有很好地指定此数组允许的值 这就是我尝试的: $this->Form->postLink($staffUser['User']['_name'], array( 'action' => 'subscribe', array('ticketId' => $ticket['Ticket']['id'],

是否可以使用FormHelper的方法postLink将多个参数传递给控制器中的操作

我没有通过使用选项数组来实现这一点。文档中没有很好地指定此数组允许的值

这就是我尝试的:

$this->Form->postLink($staffUser['User']['_name'], array(
           'action' => 'subscribe', 
           array('ticketId' => $ticket['Ticket']['id'], 'userId' => $staffUser['User']['id'])
));
我的订阅操作如下所示:

public function subscribe($ticketId, $userId = null){
    if ($this->request->is('post')) {
        //...
    }
}
使现代化 我刚刚注意到提供的解决方案给我带来了另一个问题。现在,当我只使用一个参数时,类停止添加ulike:

$this->Form->postLink($staffUser['User']['_name'], array(
       'action' => 'subscribe', 
       $ticket['Ticket']['id'], 
       $staffUser['User']['id'],
       array('class' => 'demo') //not beind added
));

postLink采用与create方法相同的URL条目形式。参数不需要键,请在操作键/值之后按顺序排列

在第三个参数中还需要用到其他选项-选项数组作为url数组的附加条目

$this->Form->postLink($staffUser['User']['_name'], array(
       'action' => 'subscribe', 
       $ticket['Ticket']['id'], 
       $staffUser['User']['id']
    ),
    array(
      'class' => 'demo'
    )
);
请参见FormHelper::在此处创建的选项:

尝试将其留空。如果用户已经在/controller/subscribe/TICKETID上,那么它应该默认为要发布到的相同URL。我没有使用postLink,但是FormHelper的创建方法的行为方式相同。如果没有,那么您也可以尝试将其作为普通字符串放入第二个参数中,即“/controller/subscribe/param1/param2”。我需要两个参数。用户Id可以是任何用户Id。如果为空,则登录的用户将订阅。现在我有一个问题。每当我通过一个课程,它就不会像以前那样被添加$此->表单->postLink$staffUser['User']['u name'],数组'action'=>'subscribe',$ticket['ticket']['id'],$staffUser['User']['id'],数组'class'=>'demo';更新答案。您必须将$options数组作为postLink调用的第三个参数—在您的示例中,$options数组是url数组中的附加项。