Как добавить данные в один сеанс в laravel из многошаговой формы - PullRequest
0 голосов
/ 10 февраля 2020

Я пытаюсь создать многошаговую форму, используя laravel, и я выполнил ( add products ) шаги. но все же я не могу поместить данные второго шага в ту же сессию. Я искал на Inte rnet, но не получил решение для этого. кто-нибудь может помочь в этом? я новичок в 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');

}

1 Ответ

0 голосов
/ 10 февраля 2020

Попробуйте это.

В начале:

use Session;

Чтобы положить что-то в сессию:

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

Чтобы вернуть это:

Session::get('product');

Не забудьте забыть об этом, когда закончите:

Session::forget('product');

Для гриппа sh все:

Session::flush();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...