Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 8:如何使用一个where语句在多个列中获得值增量?_Php_Mysql_Laravel_Where Clause - Fatal编程技术网

Php Laravel 8:如何使用一个where语句在多个列中获得值增量?

Php Laravel 8:如何使用一个where语句在多个列中获得值增量?,php,mysql,laravel,where-clause,Php,Mysql,Laravel,Where Clause,我有一个名为Post的表,其中有三个单独的列可以计算Post\u like、Post\u loke、Post\u react。 每当用户按下“喜欢”或“不喜欢”按钮时,相应列中的值以及post react列中的值都将增加1。 我使用where语句来增加like/loke的值 Post::where('id', $id)->increment('post_like'); 我想在同一个语句中组合post_react列的操作 Post::where('id', $id)->increm

我有一个名为Post的表,其中有三个单独的列可以计算Post\u likePost\u lokePost\u react。 每当用户按下“喜欢”或“不喜欢”按钮时,相应列中的值以及
post react
列中的值都将增加1。 我使用where语句来增加like/loke的值

Post::where('id', $id)->increment('post_like'); 
我想在同一个语句中组合post_react列的操作

Post::where('id', $id)->increment('post_like', ['post_react' => DB::raw( 'post_react + 1' ),]);
该语句无法同时执行

**Error on log**
[2020-12-17 07:54:07] local.ERROR: Class 'App\Http\Controllers\DB' not found {"exception":"[object] (Error(code: 0): Class 'App\\Http\\Controllers\\DB' not found at C:\\xampp\\htdocs\\laravelblog\\app\\Http\\Controllers\\PostsController.php:143)
[stacktrace]
注意:

Post::where('id', $id)->increment('post_like', ['post_react' => \DB::raw( 'post_react + 1' ),]);


也不起作用。

从错误消息中,您似乎忘记添加DB facade

use Illuminate\Support\Facades\DB;

从错误消息中,您似乎忘记添加DB facade

use Illuminate\Support\Facades\DB;

你确定你的专栏
post\u like
是INT类型的吗?“不工作”。。。那又是什么呢happen@VincentDecaux是的,当我使用第一个语句时,它会递增。post\u like、post\u loke和post\u react都是bigint。@code mon哦,好的,我读错了,所以你的增量有效,只是第二个错误。但你至少读到了错误吗?再清楚不过了?@VincentDecaux这是我在错误日志***[2020-12-17 08:40:01]local.error:Class'App\Http\Controllers\DB'找不到{“exception”:“[object](错误(代码:0):Class'App\\Http\\Controllers\\DB'在C:\\xampp\\htdocs\\laravelblog\\App\\Http\\Controllers\\PostsController.php:144上找不到)您确定您的列
post_like
是INT类型的吗?“不起作用“……那又是什么呢happen@VincentDecaux是的,当我使用第一个语句时,它会递增。post_like、post_REACTION和post_react都是bigint。@code mon哦,好吧,我读错了,所以你的递增有效,只是第二个错误。但是你至少读到了错误吗?再清楚不过了吗?@VincentDecaux这是我在错误日志中得到的全部内容***[2020-12-17 08:40:01]local.ERROR:Class'App\Http\Controllers\DB'未找到{“exception”:“[object](错误(代码:0):Class'App\\Http\\Controllers\\DB'未在C:\\xampp\\htdocs\\laravelblog\\App\\Http\\Controllers\\PostsController.php:144)找到此错误。
[2020-12-17 08:42:22]local.ERROR:传递给增量方法的非数值。{“异常”:“[object](InvalidArgumentException(代码:0):传递给增量方法的非数值。在C:\\xampp\\htdocs\\laravelblog\\vendor\\laravel\\framework\\src\\light\\Database\\Query\\Builder.php:2919)
处,但所有三列都是bigint。请尝试此DB::raw('post_react,+,1')我现在收到这个错误。
[2020-12-17 08:42:22]local.error:传递给increment方法的非数值。{“异常”:“[object](InvalidArgumentException(代码:0):传递给increment方法的非数值。在C:\\xampp\\htdocs\\laravelblog\\vendor\\laravel\\framework\\src\\light\\Database\\Query\\Builder.php:2919)
但所有三列都是bigint。请尝试此DB::raw('post_react,+,1'))