Метод withTrashed
Метод withTrashed применяется к запросу Eloquent
и позволяет включить в результаты выборки записи,
которые были мягко удалены. По умолчанию мягко удалённые
записи не участвуют в запросах. Метод не принимает
параметров и возвращает тот же запрос, дополненный
условием включения удалённых записей.
Синтаксис
<?php
Model::withTrashed()->get();
?>
Пример
Получим все статьи, включая мягко удалённые:
<?php
use AppModelsArticle;
$res = Article::withTrashed()->get();
foreach ($res as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
["article 1", "article 2", "article 3"]
Пример
Получим статьи с id больше 1, включая удалённые:
<?php
use AppModelsArticle;
$res = Article::withTrashed()
->where('id', '>', 1)
->get();
foreach ($res as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
["article 2", "article 3"]
Пример
Проверим, удалена ли запись, с помощью метода trashed:
<?php
use AppModelsArticle;
$articles = Article::withTrashed()->get();
foreach ($articles as $article) {
if ($article->trashed()) {
echo $article->title . " - deleted";
} else {
echo $article->title . " - active";
}
}
?>
Результат выполнения кода:
["article 1 - active", "article 2 - deleted", "article 3 - active"]
Пример
Получим только мягко удалённые записи с помощью метода onlyTrashed:
<?php
use AppModelsArticle;
$res = Article::onlyTrashed()->get();
foreach ($res as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
["article 2"]
Смотрите также
-
метод
onlyTrashed,
который выбирает только мягко удалённые записи -
метод
trashed,
который проверяет, удалена ли модель -
метод
restore,
который восстанавливает мягко удалённые записи -
метод
forceDelete,
который полностью удаляет запись из базы данных