Метод update класса DB
Метод update класса DB применяется к запросу Query Builder и обновляет записи в таблице базы данных, соответствующие условиям запроса. Первым параметром передаётся массив данных для обновления в формате 'колонка' => 'значение'. Метод возвращает количество обновлённых записей.
Синтаксис
<?php
DB::table($table)->update($values);
?>
Пример
Давайте обновим статус статьи с id равным 1 на 'published':
<?php
use IlluminateSupportFacadesDB;
$res = DB::table('articles')
->where('id', 1)
->update(['status' => 'published']);
echo $res;
?>
Результат выполнения кода:
"1"
Пример
Давайте обновим сразу несколько полей у статьи с id равным 2:
<?php
use IlluminateSupportFacadesDB;
$res = DB::table('articles')
->where('id', 2)
->update([
'title' => 'New title',
'content' => 'New content',
'status' => 'draft'
]);
echo $res;
?>
Результат выполнения кода:
"1"
Пример
Давайте обновим все записи, у которых поле status равно 'draft', и установим им статус 'pending':
<?php
use IlluminateSupportFacadesDB;
$res = DB::table('articles')
->where('status', 'draft')
->update(['status' => 'pending']);
echo $res;
?>
Результат выполнения кода:
"3"
Пример
Давайте увеличим поле views на 1 для всех статей с id больше 3 с помощью методов increment:
<?php
use IlluminateSupportFacadesDB;
$res = DB::table('articles')
->where('id', '>', 3)
->increment('views', 1);
echo $res;
?>
Результат выполнения кода:
"2"
Смотрите также
-
метод
insert,
который вставляет новые записи в таблицу -
метод
updateOrCreate,
который обновляет запись или создаёт новую -
метод
select,
который выполняет запрос на выборку данных -
метод
delete,
который удаляет записи из таблицы