我是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)会消失。
答案 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 }}