发出 updateBatch 方法,其中包含 codeigniter 4 中列的当前值

Issue updateBatch method with current value of the column in codeigniter 4

提问人:DXB-DEV 提问时间:10/30/2023 最后编辑:DXB-DEV 更新时间:10/31/2023 访问量:37

问:

我有一个名为“products”的数据库表。它包含以下列:id、stock_shipped、stock_on_hand 我在使用 updateBatch 方法时遇到了一些问题。 下订单时,订单中所有商品的库存应正确更新。 因此,我需要相应地增加/减少数据库表列中的现有值:stock_shipped并stock_on_hand。

我的代码如下:

$data[0]['id'] = 100;
$data[0]['stock_shipped'] = stock_shipped + 10;
$data[0]['stock_on_hand'] = stock_on_hand - 10;

$data[1]['id'] = 101;
$data[1]['stock_shipped'] = stock_shipped + 25;
$data[1]['stock_on_hand'] = stock_on_hand - 25;

...
...


$builder = $this->db->table('products');
$builder->updateBatch($data, 'id');

您能否建议使用updateBatch方法正确填充数据数组以更新数据库表的正确方法?

PHP 代码点火器-4

评论

0赞 steven7mwesigwa 10/30/2023
和一些任意常量值,还是根据特定标准而变化?1025
0赞 steven7mwesigwa 10/30/2023
你的问题缺乏很多背景。即表架构、当前行为、预期行为、错误消息以及您到目前为止尝试过的内容。
0赞 Mohammad Salehi 10/30/2023
错误消息是什么?
0赞 DXB-DEV 10/30/2023
@steven7mwesigwa 股票价值 10、25 等将始终变化。数据数组将根据用户选择进行操作。我面临的问题是数组值中的列名。即,$data[1]['stock_on_hand'] = stock_on_hand - 25;

答: 暂无答案