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

Метод getOriginal

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

Синтаксис

<?php $model->getOriginal($key, $default); ?>

Пример

Давайте получим исходное значение поля 'name' после его изменения:

<?php use AppModelsUser; $user = User::find(1); echo $user->name; // "John" $user->name = 'Mike'; echo $user->name; // "Mike" $originalName = $user->getOriginal('name'); echo $originalName; // "John" ?>

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

"John" "Mike" "John"

Пример

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

<?php use AppModelsArticle; $article = Article::find(1); $article->title = 'New Title'; $article->status = 'draft'; $original = $article->getOriginal(); print_r($original); ?>

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

[ "id" => 1, "title" => "Old Title", "status" => "published", "created_at" => "2024-01-01 10:00:00", "updated_at" => "2024-01-01 10:00:00" ]

Пример

Давайте используем значение по умолчанию, если атрибут отсутствует:

<?php use AppModelsUser; $user = User::find(1); $res = $user->getOriginal('non_existent_field', 'default_value'); echo $res; ?>

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

"default_value"

Пример

Давайте сравним исходное и изменённое значения с помощью метода isDirty:

<?php use AppModelsArticle; $article = Article::find(1); $article->title = 'New Title'; $res = [ 'original' => $article->getOriginal('title'), 'current' => $article->title, 'is_dirty' => $article->isDirty('title') ]; print_r($res); ?>

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

[ "original" => "Old Title", "current" => "New Title", "is_dirty" => true ]

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

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