【问题标题】:How to add data to one session in laravel from multi steps form如何从多步骤表单将数据添加到 laravel 中的一个会话
【发布时间】:2020-05-25 16:48:12
【问题描述】:

我正在尝试使用 laravel 创建多步骤表单,我遵循 (add products) 步骤。但我仍然无法将第二步数据放入同一会话中。我在互联网上搜索但没有得到解决方案。有人可以帮忙吗?我是 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');

}

【问题讨论】:

    标签: laravel session


    【解决方案1】:

    试试这个。

    开头:

    use Session;
    

    在会话中放入一些东西:

    Session::put('product', $product);
    

    要取回它:

    Session::get('product');
    

    完成后不要忘记忘记它:

    Session::forget('product');
    

    刷新所有内容:

    Session::flush();
    

    【讨论】:

    • 第一步工作正常。但第二步数据没有从该会话中获得
    • 您可能希望将其分配给变量。 $product = Session::get('product'); 另外,如果您将它放在不同的文件中,请确保您包含 Session - use Session; :)
    猜你喜欢
    • 2017-04-18
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多