$ this-> db-> replace()使用where

时间:2018-05-21 17:46:24

标签: codeigniter codeigniter-3 query-builder

我正在尝试在CodeIgniter 3中找到与insert_or_update(类似于Laravel提供的)类似的内容。我找到的最接近的是$this->db->replace(),但我找不到任何内容指定它可以/不能与->where()一起使用。根据文档我不相信这会起作用,因为它没有列出->where()作为选项,但我想要仔细检查这一点。

我希望我能做点像......

$data = [...];
$whereSearch = [...];
$this->db->replace($data)->where($whereSearch);

2 个答案:

答案 0 :(得分:1)

引用文档的关键是

  

使用PRIMARY和UNIQUE键作为决定因素。

仅根据您的键替换工作以替换表中的值。您可能会发现Does replace into have a where clause?也很有帮助。

答案 1 :(得分:0)

$this->db->where('column_name',$compared_data); 
$this->db->set('column_name',$updated_data);
$this->db->update('table_name');

这会是你正在寻找的吗?