【问题标题】:Variable from one controller to another从一个控制器到另一个控制器的变量
【发布时间】:2013-05-21 04:10:05
【问题描述】:

我有客户端控制器。在客户端控制器中,我将数据插入数据库。插入后,我需要将最后插入的名称和 ID 传递给控制器​​发票
在客户端控制器中,我可以通过以下方式获取数据:

$inserted['id'] = $client->getClient()->getId();
$inserted['name'] = $client->getClient()->getName() . ' ' . $client->getClient()->getSurename();

如何重定向到路由 add_invoice?

路由:

add_invoice:
pattern: /add_invoice
defaults: { _controller: AcmeDemoBundle:Invoice:addInvoice } 

在发票控制器中获得功能:

   public function addInvoiceAction($idClient, $nameClient) {...

感谢您的建议。

【问题讨论】:

    标签: variables symfony controller routing


    【解决方案1】:

    修复您的路由以使参数自动传递给方法(通过 get )。根据 symfony 命名约定,方法参数使用 _under_score ...

    add_invoice:
        pattern: /add_invoice/{client_id}/{client_name}
        defaults: { _controller: AcmeDemoBundle:Invoice:addInvoice } 
    

    您可以像这样在控制器中生成路由:

    $url = $this->generateUrl('add_invoice', array( 
        'client_id' => $inserted['id'], ´
        'client_name' => $inserted['name']
    ));
    

    然后从您的客户端控制器重定向:

    return $this->redirect($url), 301);
    

    【讨论】:

      猜你喜欢
      • 2020-11-23
      • 2017-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-28
      相关资源
      最近更新 更多