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

Метод restore

Метод restore применяется к модели Eloquent или к построителю запросов и восстанавливает записи, которые были помечены как удалённые через механизм мягкого удаления. Для работы этого метода в модели должен быть использован трейт SoftDeletes, который добавляет поле 'deleted_at' в таблицу. Метод возвращает количество восстановленных записей при использовании через построитель запросов, или true/false при вызове на конкретном экземпляре модели.

Синтаксис

<?php Model::withTrashed()->where($column, $operator, $value)->restore(); ?>

Для восстановления одного экземпляра модели используется следующий синтаксис:

<?php $model = Model::withTrashed()->find($id); $model->restore(); ?>

Пример

Допустим, у нас есть модель Article с мягким удалением. Восстановим все удалённые статьи, у которых поле 'status' равно 'archived':

<?php use AppModelsArticle; $res = Article::onlyTrashed() ->where('status', 'archived') ->restore(); echo "Restored articles: " . $res; ?>

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

"Restored articles: 3"

Пример

Восстановим конкретную удалённую статью по её идентификатору:

<?php use AppModelsArticle; $article = Article::withTrashed()->find(5); if ($article) { $res = $article->restore(); echo "Article restored: " . $res; } ?>

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

"Article restored: 1"

Пример

Восстановим все удалённые статьи, у которых поле 'views' больше 100:

<?php use AppModelsArticle; $res = Article::onlyTrashed() ->where('views', '>', 100) ->restore(); echo "Restored articles: " . $res; ?>

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

"Restored articles: 2"

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

  • метод trashed,
    который проверяет, удалена ли запись мягко
  • метод forceDelete,
    который окончательно удаляет запись из базы данных
  • метод withTrashed,
    который включает удалённые записи в результаты запроса
  • метод onlyTrashed,
    который выбирает только мягко удалённые записи
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить