Метод onlyTrashed
Метод onlyTrashed применяется к запросу Eloquent
и возвращает тот же запрос, дополненный условием выборки
только тех записей, которые были мягко удалены. Этот метод
работает только с моделями, использующим трейт
SoftDeletes. Он полезен для просмотра и управления
удаленными данными, которые еще не были окончательно
удалены из базы данных.
Синтаксис
<?php
Model::onlyTrashed();
?>
Пример
Давайте получим все мягко удаленные статьи:
<?php
use AppModelsArticle;
$articles = Article::onlyTrashed()->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
"Deleted article 1"
"Deleted article 2"
"Deleted article 3"
Пример
Давайте получим удаленные статьи с id больше 5:
<?php
use AppModelsArticle;
$articles = Article::onlyTrashed()
->where('id', '>', 5)
->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
"Deleted article 6"
"Deleted article 7"
"Deleted article 8"
Пример
Давайте подсчитаем количество мягко удаленных записей:
<?php
use AppModelsArticle;
$count = Article::onlyTrashed()->count();
echo "Articles found: " . $count;
?>
Результат выполнения кода:
"Articles found: 3"
Смотрите также
-
метод
withTrashed,
который включает в выборку как удаленные, так и неудаленные записи -
метод
trashed,
который проверяет, была ли модель мягко удалена -
метод
restore,
который восстанавливает мягко удаленные записи -
метод
forceDelete,
который окончательно удаляет запись из базы данных