Formularz bez zapisu modelu

Cześc, mam taki problem którego nie mogę rozwiązać. Mam sobie formularz na stroni który jest częścią etapu wersyfikacji. Problem polega na tym, że potrzebuje właśnie wypełnionego klienta przesłać dalej, tj do kolejnej akcji i dopiero tam zapisać dane bo aktualnie to działa, ale klient może wypełnić formularz i dać cofnij i owy klient jest już w bazie choć powinien być po zakończeniu dopiero wszystkich etapów.

Tyle, żę jak nie zapisze klienta na poziomie formularza to po prostu jego nie ma, bo skąd?

Czyli tak

Krok 1 jakaś tam akcja w procesie weryfikacji

Krok 2 Podanie danych- formularz - id klienta przesyłane jest do kroku 3.

Krok 3 kolekcja wszystkich zebranych informacji w procesie i zakończenie procesu na przycisku - i tu dopiero po zatwierdzeniu klient powinien być dodany do bazy.

pseudo kod jeszcze:

$post=dane formularza

redirected['krok 3 akcja ', ‘client’=>$client->id]

Krok 3 akcja

Yii::app->request->get(‘client’) /* … */

Jakiś pomysł?

Zapisz dane formularza w sesji.

Nie działa.


            $Client = new client();


        $keys = Yii::$app->request->get('Miejsca');

        if ($Client->load(Yii::$app->request->post())) {


           

               // $Client->save();

                Yii::$app->session->set('id',$Client->id_client);

                echo  Yii::$app->session->get('id'); // pusto 

              

           


        } else {


            return $this->render('form', ['Client' => $Client]);

        }

ID generowane jest przy zapisie rekordu. Dopóki nie zapiszesz klienta w bazie (a nie chcesz tego robić), nie będziesz miał jego ID. Jeśli chcesz obsługiwać dodawanie klienta w kilku krokach, zapisuj dane z formularzy z poprzednich kroków w sesji i wykorzystuje je w ostatnim kroku - w nim zapisujesz klienta do bazy i dopiero wtedy będzie on miał przypisane ID.

Dzięki, nie wziąłem pod uwagę, że mogę operować na np imieniu zamiast ID którego nie było jak piszesz ;) W sumie to bez różnicy czy to będzie sesja czy przekazanie przez GETA bo operacja odbywa się na poziomie 3 i 4 szczebla weryfikacji więc nie musi iść już dalej nigdzie ;)