2

我正在使用Codeigniter 活动记录类

我正在尝试为多个表中的特定 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但随后出现错误:

您必须使用“set”方法来更新条目。

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

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

4

2 回答 2

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);
于 2013-06-12T06:33:11.387 回答
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();
于 2013-06-12T06:25:38.887 回答