使用CI
update_batch()
,我无法在增加整数数据库值的地方设置值。 这与CIset(); update()
成功合作,但是由于有多个更新,因此Batch是更好的选择。
我的列有名称末尾具有相同字符的列,在开始时具有不同的字符(不同年份):2014x,2015x,2016x,等等。
因此,我创建了一个标识这一年的$var
,然后通过串联添加字符串
'x' and 'y'
。 最后,数组中的值设置是增量1,因此我添加+1。 此串联在键中正常工作 - 也就是说,我正在更新正确的列和字段。 $data = array(
array('name' => $name1,
$var.'x' => $var.'x+1'),
array('name' => $name2,
$var.'y' => $var.'y+1')
);
$this->db->update_batch('my_table', $data, 'tname');
在上述情况下,该字段的更新仅为已定义的一年的值。 我还尝试了以下内容:
$var
我如何使用
=> '{"$var.x+1"}' // places a '0' value in the field
=> $var.'x' +1 // places the value of $var
=> '$var.x+1' // places a '0' value in the field
来递增我的字段
update_batch()
?作为一个示例,此代码成功工作:
1
您无法通过update_batch进行此操作。 在文档中
https://ellislab.com/codeigniter/user-guide/database/active_record.html
,这是这样的: