【问题标题】:How to pass data to controller method without specifying it in routes? Laravel如何将数据传递给控制器​​方法而不在路由中指定?拉拉维尔
【发布时间】:2017-03-24 13:59:37
【问题描述】:

我有一个包含一些数据的方法 placeOrder。我需要将此数据传递给 successOrder 方法。如果我这样做,我应该以这种方式在路线中描述它:order-success/{id} 但我不想在 url 中显示它。甚至有可能吗?如果是,那怎么办?

placeOrder
    $this->successOrder($data['order_id']);
     return redirect()->route('successOrder');

successOrder($id)
    $this->template = env('THEME') . '.order_Success';
            $content = view(env('THEME') . '.order_Success_content')->with(['order_id' => $orderID])->render();
            $this->vars = array_add($this->vars, 'content', $content);
            return $this->RenderOutput();

【问题讨论】:

    标签: php laravel controller routes


    【解决方案1】:

    像这样将数据传递到输入中:

    Request::input('id');
    

    然后返回你的 successOrder 方法的视图

    【讨论】:

      【解决方案2】:

      我通过这样做解决了这个问题:

      placeOrder
      session()->put('order_ID', $data['order_id']);
      
      successOrder
      session()->get('order_ID')
      

      如果有人知道更好更清洁的解决方案,请写在 cmets (:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-01-10
        • 1970-01-01
        • 2021-06-10
        • 1970-01-01
        • 1970-01-01
        • 2020-06-19
        • 2019-05-26
        相关资源
        最近更新 更多