gpt4 book ai didi

php - 如何在laravel Eloquent 更新查询中更新表字段=字段+1

转载 作者:行者123 更新时间:2023-11-29 06:57:25 28 4
gpt4 key购买 nike

我想更新 laravel 中的查询,其中 $field = $field+1 。使用mysqli_query它工作得很好。但它无法正常工作 laravel orm。

我想在 laravel orm 中运行此查询

$sql = "Update $tbl set cnt=cnt+1 where user_id='x'"

在 mysql 中运行此查询时,我得到以下结果

If cnt =1 in databases it will increment $cnt = $cnt+1 = 1+1 =2

我想在 laravel orm 中运行这个 sql 查询

$where = ['user_id' => 'x'];
$field = ['cnt' => 'cnt+1'];
$tbl = 'log_cnt';
Capsule::table($tbl)->where($where)->update($field);

但是运行此查询输出后将在数据库中显示 $cnt=0

最佳答案

增加或减少列的值

增加单列

Capsule::table('log_cnt')->increment('cnt');
Query: UPDATE log_cnt SET cnt = cnt + 1;

Capsule::table('log_cnt')->increment('cnt', 5);
Query: UPDATE log_cnt SET cnt = cnt + 5;

减少单列

Capsule::table('log_cnt')->decrement('cnt');
Query: UPDATE log_cnt SET cnt = cnt - 1;

Capsule::table('log_cnt')->decrement('cnt', 5);
Query: UPDATE log_cnt SET cnt = cnt - 5;

您还可以指定要更新的其他列:

Capsule::table('log_cnt')->increment('cnt', 1, ['user_id' => 'x']);
Query: UPDATE log_cnt SET cnt = cnt + 1, user_id = 'x';

引用:https://laravel.com/docs/5.4/queries#increment-and-decrement

关于php - 如何在laravel Eloquent 更新查询中更新表字段=字段+1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45061187/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com