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

Метод isDirty

Метод isDirty применяется к экземпляру Eloquent модели и возвращает true, если атрибут (или несколько атрибутов) были изменены после загрузки из базы данных или сохранения. Метод учитывает только те изменения, которые ещё не сохранены в базу через save. В качестве параметра можно передать имя одного атрибута или массив имён. Если параметр не указан, метод вернёт true при наличии любых несохранённых изменений.

Синтаксис

<?php Model::isDirty($attribute); ?>

Пример

Давайте проверим, был ли изменён атрибут 'title' у модели после загрузки:

<?php use AppModelsArticle; $article = Article::find(1); $article->title = 'New Title'; $res = $article->isDirty('title'); echo $res; ?>

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

true

Пример

Проверим, были ли изменены несколько атрибутов одновременно. Метод вернёт true, если хотя бы один из переданных атрибутов изменён:

<?php use AppModelsArticle; $article = Article::find(2); $article->title = 'Updated Title'; $article->content = 'New content here'; $res = $article->isDirty(['title', 'status']); echo $res; ?>

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

true

Пример

Вызов метода без параметров проверяет наличие любых изменений в модели. Это полезно для условного выполнения действий перед сохранением:

<?php use AppModelsArticle; $article = Article::find(3); $article->status = 'draft'; if ($article->isDirty()) { echo 'Model has unsaved changes'; } else { echo 'Model is clean'; } ?>

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

"Model has unsaved changes"

Пример

После сохранения модели метод isDirty возвращает false, так как все изменения уже записаны в базу данных:

<?php use AppModelsArticle; $article = Article::find(4); $article->title = 'Final Title'; $article->save(); $res = $article->isDirty(); echo $res; ?>

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

false

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

  • метод wasChanged,
    который проверяет изменения после сохранения модели
  • метод getChanges,
    который возвращает массив изменённых атрибутов
  • метод getDirty,
    который возвращает текущие значения изменённых атрибутов
  • метод getOriginal,
    который возвращает исходные значения атрибутов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить