Codeigniter MySQL:插入记录与用户ID不一样

时间:2017-02-26 15:01:23

标签: mysql codeigniter activerecord

我的控制器

    // This will save all the updated values from the user.
$id = $this->input->post('id');
$data = array(
    'full_name' => $this->input->post('name'),
    'email'     => $this->input->post('email'),
    'address'   => $this->input->post('address'),
    'phone'     => $this->input->post('phone')
);      

    // And store user imformation in database.
$cust_id = $this->cart_model->update_customer($data, $id);

$order = array(
    'orderDate'     => date('Y-m-d'),
    'customerid'    => $cust_id
);
   // And store user order information in database.
$ord_id = $this->cart_model->insert_order($order);

我的模特

function update_customer($data, $id)
{
    $this->db->where('id', $id);
    $this->db->update('user', $data);
    $id = $this->db->insert_id();
    return (isset($id)) ? $id : FALSE;
}

    // Insert order date with customer id in "orders" table in database.
public function insert_order($data)
{
    $this->db->insert('order', $data);
    $id = $this->db->insert_id();
    return (isset($id)) ? $id : FALSE;
}

表格顺序:idorderDatecustomerid

表格用户:idfull_nameaddressphone

表顺序值customerid中的

0与用户表不一样,我的错误请在哪里核心 感谢

1 个答案:

答案 0 :(得分:2)

function update_customer($data, $id)
{
    $this->db->where('id', $id);
    $this->db->update('user', $data);
    $id = $this->db->insert_id();
    return (isset($id)) ? $id : FALSE;
}

更新记录时无法使用$this->db->insert_id();,因此您应删除该行。 您已经将id作为函数参数传递,因此您可以使用

直接返回它
function update_customer($data, $id)
{
    $this->db->where('id', $id);
    $this->db->update('user', $data);
    return (isset($id)) ? $id : FALSE;
}