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

mw3dktmi  于 2023-04-28  发布在  PHP
关注(0)|答案(2)|浏览(91)

如何更新数据库中所有选定行的列值,而不使用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();
hec6srdp

hec6srdp1#

您可以执行如下查询(所有status列字段将被更新)

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

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

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

2ic8powd2#

它将状态值为0的所有行更新为1

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

相关问题