0

嗨,我是 zend 框架 2.2.0 的新手。我现在想创建一个链接去删除页面,我只在 url 中传递 id,所以我想在其中传递另一个 id。

<a href="<?php echo $this->url('message',array('action'=>'delete', 'id' => $message->message_id));?>">Add to Trash</a>

现在在此链接中消息 id 正在传递我还想在此链接中再传递一个名为“did”的 id

<a href="<?php echo $this->url('message',array('action'=>'delete', 'id' => $message->message_id,'did'=>$message->deliver_id));?>">Add to Trash</a>

我怎么能得到这个?提前致谢

4

2 回答 2

1

您应该使用 url 查看助手的第三个参数 ($options) 在查询字符串中传递您的变量。例子:

$route = 'message';
$param = array('action' => 'delete');
$opts  = array(
           'query' => array(
              'id'  => $message->message_id,
              'did' => $message->deliver_id
              )
           );

$this->url($route, $params, $opts);
于 2013-06-06T07:25:41.943 回答
0

您必须将“did”添加到您的消息路由中,如下所示:

'router' => array(
    'routes' => array(
        'message' => array(
            'type' => 'segment',
            'options' => array(
                'route' => '/:action/:id[/:did]',
                'constraints' => array(
                    'action' => '[a-zA-Z][a-zA-Z0-9_-]+',
                    'id'     => '[0-9]+',
                    'did'    => '[0-9]+',
                ),
                'defaults' => array(
                    'controller' => 'Application\Controller\Index',
                ),
            ),
        ),
    ),
),

echo $this->url('message',array('action'=>'delete', 'id' => $message->message_id,'did'=>$message->deliver_id);
// output: /delete/1/2
于 2013-06-06T06:12:30.877 回答