Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]Symfony 3, POST zachowuje sie jak GET
Forum PHP.pl > Forum > PHP > Frameworki
fumfel20
Witam, w sumie to dopiero zaczynam z Symfony (wczesniej tylko Laravel) i napotykam na probemy ktorych wczesniej nie mialem. Mam prosty formularz z 3 inputami i po wyslaniu ich do bazy danych po Redirekcie pasek adresu wyglada tak:



Metoda w kontrolerze:
Kod
public function getInventoryShipmentLocationAction(Request $request)
    {
        $form = $this->createForm(InvShipLocFormType::class);

        $form->handleRequest($request);
        if ($form->isSubmitted() && $form->isValid()){
            //dump($request);die;
            $inventory = $request->request->get('inv_ship_loc_form')['inventory'];
            $shipment = $request->request->get('inv_ship_loc_form')['shipment'];
            $location = $request->request->get('inv_ship_loc_form')['location'];
            $product = $this->getProductInformation($inventory, $shipment)[0];
            $partNo = $product['PART_NO'];
            $customerOrder = $product['C_CUST_PO_NO'];
            $defaultepickLication = $product['EPICKLOCATION'];

            $pickInLocation = new sendProductToLocation();
            $pickInLocation->setIntInventoryNo($inventory);
            $pickInLocation->setIntShipmentNo($shipment);
            $pickInLocation->setIntCustomerOrder($customerOrder);
            $pickInLocation->setStrPartNo($partNo);
            $pickInLocation->setStrDefaultEpickLocation($defaultepickLication);
            $pickInLocation->setStrLocation($location);
            $pickInLocation->setCreatedAt(new \DateTime());
            $em = $this->getDoctrine()->getManager();
            $em->persist($pickInLocation);
            $em->flush();
            return $this->redirectToRoute('devonSendToLocation',[
                'InvShipLocForm'=> $form->createView()
            ]);

        }

        return $this->render('devonSendToLocation/index.html.twig',[
            'InvShipLocForm'=> $form->createView()
        ]);
    }


formularz:
Kod
<div class="container">
        {{ form_start(InvShipLocForm, { 'attr' : { 'autocomplete': 'off'} }) }}
        {{ form_widget(InvShipLocForm) }}
        <button class="btn btn-default" type="submit">SEND</button>
        {{ form_end(InvShipLocForm) }}
    </div>


Co robie nie tak?
Pyton_000
Nic Ci to nie mówi?

Kod
return $this->redirectToRoute('devonSendToLocation',[
                'InvShipLocForm'=> $form->createView()
            ]);
fumfel20
Cytat(Pyton_000 @ 23.08.2018, 18:28:37 ) *
Nic Ci to nie mówi?

Kod
return $this->redirectToRoute('devonSendToLocation',[
                'InvShipLocForm'=> $form->createView()
            ]);


Mowi tylko tyle ze po wyslaniu danych z formularza ma wrocic znow w to samo miejsce zeby formularz byl gotowy na nowe dane. Co innego ma mi powiedziec?

Cytat(fumfel20 @ 23.08.2018, 19:14:33 ) *
Mowi tylko tyle ze po wyslaniu danych z formularza ma wrocic znow w to samo miejsce zeby formularz byl gotowy na nowe dane. Co innego ma mi powiedziec?



EDIT: Masz mnie. Teraz wiem co miales na mysli. Skoro i tak ma mnie przeniesc do 'devonSendToLocation' to nie musze wysylac do widoku $form poniewaz po submit warunek w IF sie nie wykona i tak czy inaczej wyswietli sie odpowiedni widok. To takie oczywiste. Dzieki za pomoc.
Pyton_000
Gratuluję smile.gif Jednak są jeszcze ludzie na tym świecie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.