laravel - 如何从多步骤表单将数据添加到 laravel 中的一个会话
问题描述
我正在尝试使用 laravel 创建多步骤表单,并且我遵循(添加产品)步骤。但我仍然无法将第二步数据放入同一会话中。我在互联网上搜索但没有得到解决方案。有人可以帮忙吗?我是 laravel 的新手
public function createStep1(Request $request)
{
$product = $request->session()->get('product');
return view('products.create-step1',compact('product', $product));
}
public function postCreateStep1(Request $request)
{
$validatedData = $request->validate([
'firstname' => 'required',
'lastname' => 'required',
]);
if(empty($request->session()->get('product'))){
$product = new Product();
$product->fill($validatedData);
$request->session()->put('product', $product);
}else{
$product = $request->session()->get('product');
$product->fill($validatedData);
$request->session()->put('product', $product);
}
return redirect('/products/create-step2');
}
public function createStep2(Request $request)
{
$product = $request->session()->get('product');
return view('products.create-step2',compact('product', $product));
}
public function postCreateStep2(Request $request)
{
$product = $request->session()->get('product');
$validatedData = $request->validate([
'address' => 'required',
'city' => 'required',
]);
$product = $request->session()->get('product');
$product->fill($validatedData);
$request->session()->put('product', $product);
/** * 此步骤数据未放入此会话。我需要知道如何放置这些 */
} 返回重定向('/products/create-step3');
}
解决方案
试试这个。
开头:
use Session;
把东西放在会话中:
Session::put('product', $product);
要取回它:
Session::get('product');
完成后不要忘记忘记它:
Session::forget('product');
冲洗一切:
Session::flush();
推荐阅读
- python - 为什么这个 for 循环会抛出 TypeError?
- java - 升级到 'com.google.android.gms:play-services-ads:18.1.0' 后的 Android 编译错误
- algorithm - 李超树 vs 凸壳技巧。应该首选哪个以及何时?
- swift - 以编程方式锚定视图组件会产生错误
- c# - int.MinValue 和 int.MaxValue 之间的随机数,包括
- javascript - 访问数组内的对象数据
- c - 在 C 中,有没有办法用一个格式化的打印语句打印一个未知大小的数组?
- c++ - QGraphicsScene 项目在两次(x2)位置绘制
- python - 无法将opencv图像拆分为RGB
- ajax - Erro 500 ajax-upload.php 上传头像