Laravel雄辩地更新具有相同值但ID不同的多行

时间:2020-02-23 16:52:28

标签: php laravel eloquent

我正在使用Laravel 6和Eloquent。我正在寻找一种用一组设置值更新一组行的方法,每个设置都有唯一的ID。

这就是我现在正在做的事情:

$ids = [3948, 1984, 7849, 4456, 394];
$value = false;

foreach ($ids as $id)
{
   User::where("id", $id)->update(["status" => $value]);
}

有没有一种方法可以只用1个查询而不是5个查询来完成相同的工作?

1 个答案:

答案 0 :(得分:3)

您可以使用whereIn,例如:

$ids = [3948, 1984, 7849, 4456, 394];
$value = false;
User::whereIn("id", $ids)->update(["status" => $value]);