php - 如果在表单中检查了一个或多个项目,如何将 MySQL 字段递增 1?

标签 php mysql laravel

我有一个页面,用户可以在其中投票哪个游戏平台(例如)是最好的。在 MySQL 中,我有一个包含这些项目的表格。我想在每次检查指定项目时更新“计数”字段并将其设置为+1。 提交表单后,我得到一系列选定的项目:

array [
  0 => "XBOX"
  1 => "PS4"
  2 => "PC"
]

现在,我想检查这个数组并将其与 MySQL 字段进行比较,并将它们的计数值增加 1。 我试图将数组与 MySQL 与此进行比较,但没有成功。

$value = Input::get('platform'); //this produces presented array
$test = Platform::where('name', 'LIKE', implode(" ", $value))->get();

最佳答案

我认为你应该使用 whereIn 而不是 where

$test = Platform::whereIn('name', $value)->get();

更新:

你可以通过 DB::raw():

DB::table('Platforms')
   ->whereIn('name', $value)
   ->update([
       'count' => DB::raw('count + 1')
   ]);

关于php - 如果在表单中检查了一个或多个项目,如何将 MySQL 字段递增 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39087064/

相关文章:

php - 为什么 mysql_real_escape_string 不起作用?

php - 使用 AJAX/PHP/MySQL 批准/拒绝记录

MySQL错误,缺少sock,仍然可以连接除命令行之外的所有内容

php - 如何将多个数组元素添加到转置结构中?

php - 存储趋势数据的最佳方式是什么?

php - 如何使用 php 创建日期范围?

mysql - 导入 .csv 并转换为 mysql 中的日期

php - API 调用驻留在存储库模式 laravel 应用程序中的什么位置?

Laravel 6.x - 缓存 'pagination()'

php - 仅在第一个结果中显示/隐藏 mysql 结果函数