РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
153 of 1392 menu

Метод decrement

Метод decrement применяется к модели Eloquent и уменьшает значение указанной колонки на заданное количество. Первым параметром передаётся имя колонки, вторым - количество, на которое нужно уменьшить значение (по умолчанию равно 1). Метод автоматически обновляет поле и возвращает количество затронутых строк.

Синтаксис

<?php Model::decrement($column, $amount); ?>

Пример

Давайте уменьшим количество просмотров статьи с id равным 1 на 5:

<?php use AppModelsArticle; $affected = Article::where('id', 1)->decrement('views', 5); echo $affected; ?>

Результат выполнения кода:

"1"

Пример

Если второй параметр не указан, значение уменьшится на 1. Давайте уменьшим количество лайков для всех статей категории с id равным 2:

<?php use AppModelsArticle; $affected = Article::where('category_id', 2)->decrement('likes'); echo $affected; ?>

Результат выполнения кода:

"4"

Пример

Метод decrement можно комбинировать с другими методами для более гибкого обновления данных. Уменьшим количество просмотров для статей, у которых status равен 'published', и уменьшим значение на 3:

<?php use AppModelsArticle; $affected = Article::where('status', 'published') ->where('views', '>', 10) ->decrement('views', 3); echo $affected; ?>

Результат выполнения кода:

"3"

Пример

Метод decrement также доступен для экземпляра модели. Получим модель и уменьшим её значение:

<?php use AppModelsArticle; $article = Article::find(5); $article->decrement('views', 2); echo $article->views; ?>

Результат выполнения кода:

"8"

Пример

При использовании decrement можно одновременно обновить другие поля с помощью метода update:

<?php use AppModelsArticle; $affected = Article::where('id', 3)->decrement('views', 1, [ 'updated_at' => now(), 'is_updated' => true ]); echo $affected; ?>

Результат выполнения кода:

"1"

Смотрите также

  • метод increment,
    который увеличивает числовое значение колонки
  • метод update,
    который обновляет записи в базе данных
  • метод save,
    который сохраняет изменения модели
  • метод find,
    который находит модель по первичному ключу
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить