gpt4 book ai didi

php - 多个记录 ID 的 Laravel 批量更新

转载 作者:可可西里 更新时间:2023-11-01 08:02:21 28 4
gpt4 key购买 nike

我想在 Laravel 中批量更新我的记录,但记录没有得到更新。我对每个 ID 都有不同的记录。以下是我正在尝试的。

$ids = [5,6,8,9],
$updated_array = [
['name' => 'tarun'],
['name' => 'Akash'],
['name' => 'Soniya'],
['name' => 'Shalu'],
];

Model::whereIn('id', $ids)->update($updated_array);

最佳答案

当您尝试将多行更新为相同的值时,会使用批量更新。您不能使用不同的值进行批量更新。

因此,这可行,但会将所有匹配的记录更新为“tarun”的名称:

Model::whereIn('id', $ids)->update(['name' => 'tarun']);

对于你的例子,你可以这样做:

foreach($ids as $key => $id) {
Model::where('id', $id)->update($updated_array[$key]);
}

但据我所知,如果不在 Laravel 中运行 4 个查询并编写原始 SQL 语句来完成此操作,就无法做到这一点,甚至会很困惑。

关于php - 多个记录 ID 的 Laravel 批量更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51517262/

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