如何使用codeigniter中的updateBatch方法更新已有的DB字段数据+<Value>?

How to use the updateBatch method in codeigniter for updating existing DB field data + <Value>?

提问人:CodersWorld 提问时间:10/31/2023 最后编辑:user3783243CodersWorld 更新时间:11/1/2023 访问量:33

问:

我想通过向数据库字段添加一些值来增加数据库列中的现有值?在通常的 SQL 查询中,我们可以这样做:

UPDATE user_master SET votes = votes + 1234 WHERE id = 1000;

但是我想知道如何在传递给updateBatch方法的数据数组中执行此操作

我试过:

$array['id'] = 1000; 
$array['votes'] = 'votes' + 1234;
$builder = $this->db->table('user_master');
$builder -> updateBatch($array, 'id');
php codeigniter

评论

0赞 user3783243 10/31/2023
'votes' + 1234正在尝试将字符串添加到整数中。你的代码会发生什么情况?您会收到错误消息吗?也许你的意思是?$array['votes'] += 1234;
0赞 CodersWorld 11/1/2023
@user3783243 数组应包含数据库表中需要更新的所有值。$array = [];$array['id'] = 1000;$array['votes'] = '票 + 1234';这就是我保持这样的原因,但我找不到一种方法来提及当前字段名称+一些值
1赞 Salz 11/1/2023
你没有提到 Codeigniter 的哪个版本,所以我假设它是版本 3。检查一下: CI 3 文档

答:

0赞 Salz 11/1/2023 #1

基于官方的 Codeigniter 3 文档

你可以试试这个,我以前从未尝试过:

<?php

$this->db->set_update_batch('votes', 'votes' + 1234, true);
$this->db->update_batch('user_master', null, 'id');