我正在使用 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 & T3
有user_id
列。
我做错了什么,如何解决这个问题?我是codeigniter的新手,CI文档不清楚这个问题。
答案 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();