PHP Codeigniter-克隆数据(仅适用于1个单行,但不适用于所有行)

时间:2019-07-04 02:06:13

标签: php codeigniter codeigniter-3

我要做什么:
尝试将数据从“付款历史”表克隆到“付款”,但是现在的问题是,当我仅select('Payment_Amount'),它可以正常工作(更新),但不能完成所有工作,有什么想法吗?

付款表

Payment_ID
Payment_Amount
Payment_Method
Payment_Remark

付款历史记录表

Payment_ID
PaymentHistory_ID
Payment_Amount
Payment_Method
Payment_Remark

两者具有相同的列和相同的数据类型

我的代码: 控制器

public function updateHistory($Payment_ID){
        // with single Payment_ID

        //get data with specific column and ignore PaymentHistory_ID
        $query = $this->db->select('Payment_Amount','Payment_Method','Payment_Remark')->where('Payment_ID', $Payment_ID)->get('YOUR FROM TABLE');
        $result = $query->row_array();

        if($result)
        { // check if has data
            //then update to another table
            $this->db->where('Payment_ID', $Payment_ID)->update('YOUR TO TABLE', $result ); // To update existing record
        }
}

基于我提供的问题 Codeigniter - Clone Data (But remove 1 column that is not exist ) ,代码有效,但不适用于我面临的新问题。

注意:CodeIgniter的新功能

2 个答案:

答案 0 :(得分:0)

 if(!empty($result)) { 
     $this->db->where('Payment_ID', $Payment_ID)->update('YOUR TO TABLE', $result[0]); // To update existing record
    }

答案 1 :(得分:0)

在“付款历史记录”表中,仅Payment_ID PaymentHistory_ID就足够了。 支付金额 付款方法 付款备注 不需要双重。 只有主ID可以克隆