示例#1
0
 public function cleanOrderitems()
 {
     $deleted_items = array();
     foreach ($this->orderitem as $orderitem) {
         if (!in_array($orderitem->id, $deleted_items)) {
             $similar_items = $orderitem->find('all', "orders_id=" . $this->id . " AND product_id=" . $orderitem->product_id . " AND product_type='" . $orderitem->product_type . "' AND options='" . $orderitem->options . "' AND id !=" . $orderitem->id);
             foreach ($similar_items as $similar_item) {
                 $orderitem->quantity = $orderitem->quantity + $similar_item->quantity;
                 $deleted_items[] = $similar_item->id;
                 $similar_item->delete();
             }
             $shippingmethod = new shippingmethod($orderitem->shippingmethods_id);
             $shippingmethod->delete();
             $orderitem->shippingmethods_id = 0;
             $orderiten->products_tax = 0;
             $orderitem->save();
         }
     }
 }