PHP:如何使用 whereIn 子句根据多个 ID 更新一列
Posted
技术标签:
【中文标题】PHP:如何使用 whereIn 子句根据多个 ID 更新一列【英文标题】:PHP: How to update one column based on multiple ID using whereIn clause 【发布时间】:2019-06-16 14:18:45 【问题描述】:我的示例数组名为“数字” ['一','二','三']
用户 ID -> 1 2 3
我有一个复选框,其值 = " $number - $user->RowID " 和名称 = "number[]"
我在刀片模板中循环了这些值。
现在的问题是我将如何更新一列,它是基于多个用户 ID 的数字。
我尝试像这样内爆 $number 数组:
$variable = implode(", ", $number)
我只能像这样更新“数字”列中的一个单元格:
一 - 1、二 - 2、三 - 3
我的模型代码:
$numberArr = $request->input('number');
$numbers = implode(", ", $numberArr);
$this->number = $numbers;
$this->update();
现在我需要的是根据用户 ID 更新列“数字”并根据他们的“-ID”分隔值。例如。
“数字”是列。
第 1 行:
行ID:1,编号:1
第 2 行:
行ID:2,编号:2
第 3 行:
RowID:3,编号:3
【问题讨论】:
您能否在表格中显示更新前后数据的示例数据 |行ID | |号码 | 1 一 2 二 3 三 @Capt.Teemo 表示您要更新数据,例如 user_id= 1 number= one,user_id=2 number=two, user_id=3 number=3 【参考方案1】:您可以使用 foreach 循环来更新记录,如下所示
foreach($array as $a)
$demo = MODEL::where('id', $a['user_id'])->update(['number' => $a['number']]);
【讨论】:
对不起,我忘了提到用户 ID 位于不同的阵列上。它们不在同一个数组上。 我在最新代码中所做的是我使用了 substr 函数。 $number = [“一 - 2”]; $result = substr($number, -2);如何使用 $result 变量作为基础?以上是关于PHP:如何使用 whereIn 子句根据多个 ID 更新一列的主要内容,如果未能解决你的问题,请参考以下文章
Flutter Cloud Firestore whereIn 子句
使用 Spark 执行“WHERE IN”子句,如何仅重新训练第一个数据集的列?