0

我有一个问题,我在 2 个表中按 id 从 mysql 中删除数据,但在销售表上我想在删除后保持相同的 id。当我添加新销售时,请保留最后删除的 ID。

例如,我在删除时有销售 id nr 100,在创建新销售时,id 将为 101。如果我删除,我想要保留 100。

这是我基于codeigniter的模型:

public function getAllInvoiceItems($sale_id) 
    {
        $q = $this->db->get_where('sale_items', array('sale_id' => $sale_id));
        if($q->num_rows() > 0) {
            foreach (($q->result()) as $row) {
                $data[] = $row;
            }

            return $data;
        }
    }

    public function getInvoiceByID($id)
        {

            $q = $this->db->get_where('sales', array('id' => $id), 1); 
              if( $q->num_rows() > 0 )
              {
                return $q->row();
              } 

              return FALSE;

        }

        public function deleteInvoice($id) 
        {
            $inv = $this->getInvoiceByID($id);
            $warehouse_id = $inv->warehouse_id;
            $items = $this->getAllInvoiceItems($id);

            foreach($items as $item) {
                $product_id = $item->product_id;
                $item_details = $this->getProductQuantity($product_id, $warehouse_id);
                $pr_quantity = $item_details['quantity'];
                $inv_quantity = $item->quantity;
                $new_quantity = $pr_quantity + $inv_quantity;

                $this->updateQuantity($product_id, $warehouse_id, $new_quantity);

            }

            if($this->db->delete('sale_items', array('sale_id' => $id)) && $this->db->delete('sales', array('id' => $id))) {
                return true;
            }
        return FALSE;
        }
4

0 回答 0