如何更新 table field = field+1 in laravel eloquent update query
How to update table field = field+1 in laravel eloquent update query
我想更新 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
我想 运行 这个 sql 在 laravel orm
中查询
$where = ['user_id' => 'x'];
$field = ['cnt' => 'cnt+1'];
$tbl = 'log_cnt';
Capsule::table($tbl)->where($where)->update($field);
但在 运行ning 之后,此查询输出将在数据库
中显示 $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
我想更新 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
我想 运行 这个 sql 在 laravel orm
中查询$where = ['user_id' => 'x'];
$field = ['cnt' => 'cnt+1'];
$tbl = 'log_cnt';
Capsule::table($tbl)->where($where)->update($field);
但在 运行ning 之后,此查询输出将在数据库
中显示$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