I need to update all of the rows in a database so that a particular field in all of them is equal to a single value. Here's an example.
Let's say my database table is like so:
id | data | confirmed
1 | someData | 0
2 | someData | 1
3 | someData | 0
I want to perform a query that sets the confirmed field of every row to 1.
I could do it this way:
$rows = MyModel::where('confirmed', '=', '0')->get();
foreach($rows as $row) {
$row->confirmed = 0;
$row->save();
}
But it seems like there would be a better way? A single query that would just say "set every row's 'confirmed' field to 1."
Does such a query exist in Laravel's Eloquent/Fluent?
Just to keep this thread current, you can update all rows against an Eloquent model directly using:
Model::query()->update(['confirmed' => 1]);