---
title: "touch() - автооновлення timestamps у батьків"
url: https://laravelukraine.com/blog/touch-avtoonovlennia-timestamps-u-batkiv
author: "Олексій Бабінцев"
date: 2026-07-27
---

# touch() - автооновлення timestamps у батьків

Додали коментар до поста, а `updated_at` у поста не змінився. Кеш не оновився.

`touch()` дозволяє автоматично оновлювати час оновлення батьківської моделі.

**Як працює:**

У дочірній моделі вказуємо `$touches`. Коли вона зберігається - оновлюється `updated_at` у батьків.

**Де корисно:**

* Інвалідація кешу за timestamp
* "Остання активність"
* Відстеження змін контенту

Працює з будь-якими зв'язками.

```php
class Comment extends Model
{
  // Авто-touch для поста
  protected $touches = ['post'];

  public function post()
  {
    return $this->belongsTo(Post::class);
  }
}

// Тепер при створенні/оновленні коментаря
$comment = new Comment(['body' => 'Great post!']);
$comment->post()->associate($post);
$comment->save();
// updated_at у Post буде оновлено

// Ручне оновлення timestamps
$post->touch();

// Touch кількох зв'язків
class Comment extends Model
{
  protected $touches = ['post', 'author'];
}
```
