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

Метод getDirty

Метод getDirty применяется к экземпляру модели Eloquent и возвращает массив атрибутов, которые были изменены, но еще не сохранены в базе данных. Метод не принимает параметров и возвращает ассоциативный массив, где ключами являются имена измененных полей, а значениями - новые данные. Если изменений нет, возвращается пустой массив.

Синтаксис

<?php $model->getDirty(); ?>

Пример

Давайте получим измененные атрибуты модели после изменения поля:

<?php namespace AppHttpControllers; use AppModelsArticle; class ArticleController extends Controller { public function index() { $article = Article::find(1); $article->title = 'article'; $dirty = $article->getDirty(); echo "Измененные поля: "; print_r($dirty); } } ?>

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

"Измененные поля: Array ( [title] => article )"

Пример

Давайте проверим, что метод не возвращает изменения, если модель уже была синхронизирована с базой данных:

<?php namespace AppHttpControllers; use AppModelsArticle; class ArticleController extends Controller { public function index() { $article = Article::find(1); $article->title = 'article'; $article->save(); $dirty = $article->getDirty(); if (empty($dirty)) { echo "Изменений нет"; } else { print_r($dirty); } } } ?>

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

"Изменений нет"

Пример

Давайте рассмотрим случай с несколькими измененными полями:

<?php namespace AppHttpControllers; use AppModelsArticle; class ArticleController extends Controller { public function index() { $article = Article::find(1); $article->title = 'article'; $article->status = 'draft'; $dirty = $article->getDirty(); foreach ($dirty as $field => $value) { echo "Поле: " . $field . ", значение: " . $value . "\n"; } } } ?>

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

"Поле: title, значение: article" "Поле: status, значение: draft"

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

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