Laravel:如何在不使用Laravel的Eloquent / Fluent循环的情况下更新所选记录的列值?

时间:2018-10-10 10:31:06

标签: php laravel laravel-5 eloquent

我们如何在不使用Laravel的Eloquent / Fluent循环的情况下更新数据库中所有选定行的列值。见下文。

它适用于单个记录:

$singleUser = User::where('status', '=', '0')->find(1);

$singleUser->status = '1';

$singleUser->save();

但是它不适用于多个记录。它显示"Method save does not exist."

$allUsers = User::where('status', '=', '0')->get();

$allUsers->status = '1';

$allUsers->save();

1 个答案:

答案 0 :(得分:0)

您可以像这样执行查询(所有status列字段都会更新)

DB::table('User')->update(['status ' => 1]);

另一种方式(此查询仅更新状态为0的那些记录)

User::where('status', '=', 0)->update(['status' => 1])