Метод update
Метод update применяется к запросу Eloquent
или Query Builder и обновляет записи, соответствующие
условиям запроса. Метод принимает ассоциативный массив,
где ключи - имена колонок, а значения - новые данные.
Возвращает количество обновлённых записей.
Синтаксис
<?php
Model::where($condition)->update($data);
?>
Пример
Давайте обновим статус статьи с идентификатором 1 на 'archived':
<?php
use AppModelsArticle;
$res = Article::where('id', 1)->update([
'status' => 'archived'
]);
echo $res;
?>
Результат выполнения кода:
"1"
Пример
Обновим сразу несколько полей у категории с идентификатором 2:
<?php
use AppModelsCategory;
$res = Category::where('id', 2)->update([
'name' => 'Updated Category',
'slug' => 'updated-category',
'active' => true
]);
echo $res;
?>
Результат выполнения кода:
"1"
Пример
Обновим все записи, соответствующие условию. Например, пометим все статьи со статусом 'draft' как 'pending':
<?php
use AppModelsArticle;
$res = Article::where('status', 'draft')->update([
'status' => 'pending'
]);
echo $res;
?>
Результат выполнения кода:
"5"
Пример
Для обновления всех записей в таблице можно использовать метод update без условий:
<?php
use AppModelsArticle;
$res = Article::update([
'views' => 0
]);
echo $res;
?>
Результат выполнения кода:
"25"
Пример
Использование метода update с Query Builder для обновления записей в таблице users:
<?php
use IlluminateSupportFacadesDB;
$res = DB::table('users')
->where('active', false)
->update([
'active' => true,
'updated_at' => now()
]);
echo $res;
?>
Результат выполнения кода:
"3"
Смотрите также
-
метод
updateOrCreate,
который обновляет запись или создаёт новую -
метод
save,
который сохраняет модель в базу данных -
метод
increment,
который увеличивает значение колонки -
метод
decrement,
который уменьшает значение колонки