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

Метод touch

Метод touch обновляет временные метки текущей модели в базе данных. По умолчанию метод обновляет поле updated_at, но при необходимости можно также обновить поле created_at. Метод возвращает булево значение, указывающее на успешность выполнения операции.

Синтаксис

<?php Model::touch($timestamps = ['updated_at']); ?>

Пример

Давайте получим модель статьи и обновим её временную метку на текущее время:

<?php namespace AppHttpControllers; use AppModelsArticle; use CarbonCarbon; class ArticleController extends Controller { public function index() { $article = Article::find(1); $res = $article->touch(); echo $res; } } ?>

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

true

Пример

Давайте обновим обе временные метки статьи, передав массив с именами полей:

<?php namespace AppHttpControllers; use AppModelsArticle; use CarbonCarbon; class ArticleController extends Controller { public function index() { $article = Article::find(1); $res = $article->touch(['created_at', 'updated_at']); echo $res; } } ?>

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

true

Пример

Метод touch также можно использовать в цепочке с другими методами для массового обновления временных меток моделей:

<?php namespace AppHttpControllers; use AppModelsArticle; use CarbonCarbon; class ArticleController extends Controller { public function index() { Article::where('status', 'published') ->get() ->each(function ($article) { $article->touch(); }); $res = "Articles touched successfully"; echo $res; } } ?>

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

"Articles touched successfully"

Пример

Метод touch автоматически обновляет родительские модели, если у дочерней модели настроены отношения и указано свойство touches в модели:

<?php namespace AppModels; use IlluminateDatabaseEloquentModel; class Comment extends Model { protected $touches = ['article']; public function article() { return $this->belongsTo(Article::class); } } ?>

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

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