La fonction de commande de mise à jour trouve toutes les lignes de commande de la commande en cours.
Boucle passant par la soustraction de la quantité commandée au niveau du stock et la détention de la nouvelle valeur du niveau de stock en $ newstock. Tout bon.
Mais ne sauvegardera pas.
Echoue "succès" et la valeur correcte mais la base de données n'est pas mise à jour.cakephp ne pas enregistrer la valeur de mise à jour vers la table associée, mais aucune erreur
Le champ Statut de l'ordre est mis à jour avec la même syntaxe de code.
Il a également les mêmes relations avec la ligne de commande. (Fonction appelée de Orderline Controller)
Les relations de table sont:
'Product'hasMany = array (' Orderline ');
'Commander' hasMany = array ('Orderline');
'Orderline' belongsTo = array ('Commande', 'Produit');
function updateOrder(){
$this->data['Order']['id'] = $this->getOrderid();
$orderproducts = $this->Orderline->find('all',array('conditions' =>
array('Orderline.order_id' => $this->data['Order']['id'])));
foreach($orderproducts as $orderproduct){
$newstock = $orderproduct['Product']['stock']-$orderproduct['Orderline']['quantity'];
$this->data['Product']['stock']= $newstock;
if($this->Product->saveAll($this->data)){
echo "success" ;
}else{
echo "not saved";
}
}
$this->data['Order']['status']= 1;
$this->Order->saveall($this->data);
}