Bonjour à tous,

J'ai un formulaire qui se met à jour une fois qu'on clique sur le bouton valider, il charge un tableau de données appelé $order :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
$rateApproval = $this->getRateApprovalManager();
    $orders = $rateApproval->listOrders($this->getUser()->getUsername());
 
    $form = $this->createForm('xmd_rate_collection', $orders);
 
    if ($this->getRequest()->getMethod() == 'POST') {
        $form->bindRequest($this->getRequest());
 
        if ($form->isValid()) {
                $data = $form->getClientData();
                $orders = $rateApproval->updateOrders($data);
        }
    }
Le souci c'est que 'form' => $form->createView() charge les données avant la mise à jour, et non après.

Du coup pour que ça marche il faut que je fasse :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 $rateApproval = $this->getRateApprovalManager();
    $orders = $rateApproval->listOrders($this->getUser()->getUsername());
 
    $form = $this->createForm('xmd_rate_collection', $orders);
 
    if ($this->getRequest()->getMethod() == 'POST') {
        $form->bindRequest($this->getRequest());
 
        if ($form->isValid()) {
                $data = $form->getClientData();
                $orders = $rateApproval->updateOrders($data);
                $form = $this->createForm('xmd_rate_collection', $orders);
        }
    }
Ce qui n'est pas super propre ...