Метод restore
Метод restore применяется к экземпляру модели или к запросу Eloquent и восстанавливает мягко удалённые записи. Для его работы необходимо подключить трейт SoftDeletes в модели. Метод может быть вызван как на отдельной модели, так и на построителе запросов для массового восстановления. При вызове на модели он устанавливает поле deleted_at в null и сохраняет запись. При вызове на построителе запросов он обновляет все соответствующие записи, восстанавливая их.
Синтаксис
<?php
// На экземпляре модели
$model->restore();
// На построителе запросов
Model::where('status', 'deleted')->restore();
?>
Пример
Давайте восстановим конкретную мягко удалённую статью с id равным 1:
<?php
use AppModelsArticle;
$article = Article::withTrashed()->find(1);
if ($article) {
$article->restore();
echo "Article restored successfully";
} else {
echo "Article not found";
}
?>
Результат выполнения кода:
"Article restored successfully"
Пример
Давайте массово восстановим все мягко удалённые статьи со статусом 'archived':
<?php
use AppModelsArticle;
$res = Article::onlyTrashed()
->where('status', 'archived')
->restore();
echo "Restored articles: " . $res;
?>
Результат выполнения кода:
"Restored articles: 5"
Пример
Давайте восстановим все мягко удалённые записи, используя метод restore на построителе запросов:
<?php
use AppModelsArticle;
$res = Article::onlyTrashed()->restore();
echo "All deleted articles restored: " . $res;
?>
Результат выполнения кода:
"All deleted articles restored: 8"
Смотрите также
-
метод
withTrashed,
который включает мягко удалённые записи в выборку -
метод
onlyTrashed,
который выбирает только мягко удалённые записи -
метод
delete,
который мягко удаляет запись -
метод
forceDelete,
который полностью удаляет запись из базы данных