我们如何在不使用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();
答案 0 :(得分:0)
您可以像这样执行查询(所有status
列字段都会更新)
DB::table('User')->update(['status ' => 1]);
另一种方式(此查询仅更新状态为0的那些记录)
User::where('status', '=', 0)->update(['status' => 1])