Метод forceDelete
Метод forceDelete применяется к модели Eloquent
или экземпляру запроса Query Builder и выполняет
полное удаление записи из базы данных. В отличие
от метода delete, который для моделей с
трейтом SoftDeletes устанавливает значение
в поле deleted_at, метод forceDelete
безвозвратно удаляет запись. Метод принимает
необязательный параметр - идентификатор записи,
либо вызывается непосредственно на экземпляре модели.
Возвращает количество удалённых записей.
Синтаксис
<?php
Model::forceDelete($id);
?>
Пример
Давайте принудительно удалим статью с id равным 1:
<?php
namespace AppHttpControllers;
use AppModelsArticle;
class ArticleController extends Controller
{
public function destroy($id)
{
$res = Article::forceDelete($id);
echo $res;
}
}
?>
Результат выполнения кода:
"1"
Пример
Давайте принудительно удалим все статьи, у которых
поле status равно 'archived':
<?php
namespace AppHttpControllers;
use AppModelsArticle;
class ArticleController extends Controller
{
public function clearArchived()
{
$res = Article::where('status', 'archived')->forceDelete();
echo "Deleted records: " . $res;
}
}
?>
Результат выполнения кода:
"Deleted records: 5"
Пример
Давайте принудительно удалим конкретную статью через экземпляр модели:
<?php
namespace AppHttpControllers;
use AppModelsArticle;
class ArticleController extends Controller
{
public function deleteArticle($id)
{
$article = Article::find($id);
if ($article) {
$res = $article->forceDelete();
echo "Article deleted: " . $res;
} else {
echo "Article not found";
}
}
}
?>
Результат выполнения кода:
"Article deleted: 1"
Пример
Давайте принудительно удалим все записи в таблице:
<?php
namespace AppHttpControllers;
use AppModelsArticle;
class ArticleController extends Controller
{
public function truncateArticles()
{
$res = Article::forceDelete();
echo "All articles deleted: " . $res;
}
}
?>
Результат выполнения кода:
"All articles deleted: 100"
Смотрите также
-
метод
delete,
который выполняет мягкое удаление записей -
метод
restore,
который восстанавливает мягко удалённые записи -
метод
trashed,
который проверяет, была ли запись мягко удалена -
метод
withTrashed,
который включает мягко удалённые записи в выборку