将值从Controller传递给Controller

时间:2015-12-06 04:33:06

标签: laravel laravel-4

我是laravel的新手,我试图将值从一个控制器传递到另一个控制器。在这种情况下..我想将订单控制器中生成的order_id传递给Pizza控制器中的/ pizza / create ..

这是我在OrderController中的代码

public function store()
        {
            $user = User::find(Auth::user()->id);
            $order= new Order;
            $order->user()->associate($user);
            $order->status = 'unconfirmed';
            $order->save();


            return Redirect::to('/pizza/create')
                ->with('order', $order->order_id);  
        }

这是我在PizzaController中的/ pizza / create中的代码

public function create()
    {   

        $id = Session::get('order');
        $order = Order::find($id);

        return View::make('pizza.create')
            ->with('order', $order);

    }

这在某种程度上有效......但是当我更改视图/路线时,值(order_id)会消失。

1 个答案:

答案 0 :(得分:0)

如果你想将一个值从控制器传递到控制器使用会话,当你使用重定向和方法时它正在创建会话,当你使用视图和方法时,它正在创建你可以用于视图显示的变量那个价值。

这会创建一个会话

id into id1

此语句创建一个可在视图中使用的变量

 return Redirect::to('/pizza/create')
        ->with('order', $order->order_id);

您可以在刀片或视图文件中使用的上述变量

return View::make('pizza.create')
       ->with('order', $order);

因此在create方法中,您需要创建一个会话保持变量,并在其他控制器中使用

{{ $order }}