Функция обновления заказа находит все строки заказа текущего заказа.
Позволяет выполнить вычитание количества, заказанного с уровня запасов, и сохранение нового значения уровня запасов в $ newstock.Все хорошо.
Но не сохранит.
Повторяет «успех» и правильное значение, но база данных не обновляется.
Поле «Статус заказа» обновляется с тем же синтаксисом кода.
Он также имеет те же отношения с Orderline.(Функция вызывается из контроллера строки)
Связи таблиц:
'Product'hasMany = array (' Orderline ');
' Order 'hasMany = array ('Строка заказа ');
"Строка заказа" относится к массиву ("Заказ", "Продукт");
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);
}