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

Метод increment

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

Синтаксис

<?php Model::where($column, $operator, $value)->increment($column, $amount); ?>

Пример

Увеличим количество просмотров статьи на 1:

<?php use AppModelsArticle; use IlluminateHttpRequest; class ArticleController extends Controller { public function incrementViews($id) { $article = Article::find($id); $res = $article->increment('views'); echo "Rows affected: " . $res; } } ?>

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

"Rows affected: 1"

Пример

Увеличим количество просмотров на 5 для статей определённого автора:

<?php use AppModelsArticle; class ArticleController extends Controller { public function incrementAuthorViews($authorId) { $res = Article::where('author_id', $authorId) ->increment('views', 5); echo "Updated articles: " . $res; } } ?>

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

"Updated articles: 3"

Пример

Увеличим количество просмотров и одновременно обновим другие поля:

<?php use AppModelsArticle; class ArticleController extends Controller { public function incrementWithUpdate($id) { $res = Article::where('id', $id) ->increment('views', 1, ['updated_at' => now()]); echo "Updated rows: " . $res; } } ?>

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

"Updated rows: 1"

Пример

Увеличим значение с использованием условий и дополнительных параметров:

<?php use AppModelsArticle; class ArticleController extends Controller { public function incrementActiveArticles() { $res = Article::where('status', 'published') ->where('views', '<', 100) ->increment('views', 2, ['updated_at' => now()]); echo "Updated active articles: " . $res; } } ?>

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

"Updated active articles: 5"

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

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