在 Laravel 更新查询中使用数组

Use an array in Laravel update query

我想在 Laravel 更新查询的 Where 子句 中推送一个数组。

这是更新查询。

DB::table('users')->where('id', 1)->update(array('votes' => 1));

是否可以使用如下查询??

$array_of_ids;
DB::table('users')->where($array_of_ids)->update(array('votes' => 1));

谢谢

只需使用whereIn:

$array_of_ids;
DB::table('users')->whereIn('id', $array_of_ids)->update(array('votes' => 1));

请仔细阅读文档。在这种情况下,此处记录了各种 where 语句:Query Builder - Selects

使用查询生成器:查询生成器还可以使用更新方法更新现有记录。 update 方法与 insert 方法一样,接受包含要更新的列的列和值对的数组。您可以使用 where 子句来限制更新查询:

DB::table('users')
        ->where('id', 1)
        ->update(['votes' => 1]);

试试这个查询:

DB::table('users')->whereIn('id', $array_of_ids)->update(['votes' => 1]);

使用模型:

User::whereIn('id', $array_of_ids)->update(['votes' => 1]);