繁体   English   中英

使用SQL查询和模型Codeigniter将数据复制到另一个表

[英]Copy data to another table using sql query and model codeigniter

我是Codeigniter的新手,我正在使用临时表和主表在购物车系统中制作类似物品的东西。在我现在的情况下,我想将数据从临时表(购物车)复制到主表中...但是我正在使用最后一个插入ID来获取订单号的ID。 这是我的SQL表

    Order            Order Detail                   Cart
  ID | DATE      ID | Order_ID | Item_ID         ID | Item_ID
                                                  1 |    1
                                                  2 |    2

这是我的保存控制器

function save()
 {
   extract($_POST);
   $date = date('Y-m-d')
   $data = array('date' => $date);
   $this->db->insert('order',$data);
   $order_id = $this->db->insert_id();

   //This is the copy process from Table Cart to Table Order Detail
   $row = $this->db->query('SELECT Item_ID from cart')->row();

   foreach($row as $key)
     {
       // I dont know what to loop....
     }

   $data1 = array('order_id' => $id, 'item_id'=> $key->item_id);
   $this->db->insert('order_detail',$data1);
   $this->db->delete('cart');
 }

我已经尝试将$ data1放入循环中,但是它不起作用...数据不会打印出来...并且我尝试使用普通的SQL查询

$this->db->query('INSERT INTO order_detail (item_id)
SELECT item_id
FROM cart');

但是我需要在普通SQL查询中使用变量$ order_id。 有什么办法吗? 谢谢,..

我已经解决了我的代码...这是我自己的解决方案...

function save()
{
   extract($_POST);
   $date = date('Y-m-d')
   $data = array('date' => $date);
   $this->db->insert('order',$data);
   $order_id = $this->db->insert_id();

   //This is the copy process from Table Cart to Table Order Detail
   $this->db->query('INSERT INTO order_detail (item_id)
                     SELECT item_id from cart');
   // End Copy Data
   // Then Update null order_id where order_id = 0

   $this->db->query('UPDATE order_detail
                     SET order_id='.$id.'
                     WHERE order_id=0');
   //End Update

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM