Codeigniter Active Record:根据id将空记录插入多个表中

时间:2013-06-12 06:00:35

标签: php codeigniter

我正在使用 Codeigniter Active Record Class

我正在尝试为多个表格中的特定ID创建空记录。例如,假设我的用户的ID为$user_id,我想要create empty records in tables T1, T2 and T3。我遇到问题的代码是:

        // Store the select statement in cache
        $this->db->start_cache();
        $this->db->set('user_id', $user_id);
        $this->db->stop_cache();
        // Insert empty record in tables related to user
        $this->db->insert('T1');
        $this->db->insert('T2');
        $this->db->insert('T3');
        $this->db->flush_cache();

在表T1中插入一条空记录,但后来我收到错误:

您必须使用“设置”方法更新条目。

编辑: - 显然,表格T1, T2 & T3user_id列。

我做错了什么,如何解决这个问题?我是codeigniter的新手,CI文档不清楚这个问题。

2 个答案:

答案 0 :(得分:1)

您可以将所需的值存储在数组中,然后执行插入,而不是使用$this->db->set()。这可能会有所帮助

    // Store the select statement in cache
    $data = array("user_id"=>$user_id);

    // Insert empty record in tables related to user
    $this->db->insert('T1',$data);
    $this->db->insert('T2',$data);
    $this->db->insert('T3',$data);

答案 1 :(得分:0)

试试这个

    // Store the select statement in cache
    $this->db->cache_on();
    $this->db->set('user_id', $user_id);
    $this->db->cache_off();
    // Insert empty record in tables related to user
    $this->db->insert('T1');
    //$this->db->set('user_id', $user_id);
    $this->db->insert('T2');
    //$this->db->set('user_id', $user_id);
    $this->db->insert('T3');
    $this->db->cache_delete_all();