Метод delete
Метод delete применяется к запросу Eloquent
или Query Builder и выполняет удаление записей,
соответствующих условиям запроса. Метод возвращает
количество удалённых записей. Для модели Eloquent
также доступен метод delete для удаления
конкретной модели.
Синтаксис
<?php
Model::query()->delete();
$model->delete();
?>
Пример
Давайте удалим все статьи, у которых поле 'status'
равно 'draft':
<?php
use App\Models\Article;
$deleted = Article::where('status', 'draft')->delete();
echo "Deleted articles: " . $deleted;
?>
Результат выполнения кода:
"Deleted articles: 5"
Пример
Давайте удалим конкретную статью по её идентификатору:
<?php
use App\Models\Article;
$article = Article::find(1);
if ($article) {
$article->delete();
echo "Article deleted successfully";
}
?>
Результат выполнения кода:
"Article deleted successfully"
Пример
Давайте удалим все статьи, у которых идентификатор
меньше 10, и получим количество удалённых записей:
<?php
use App\Models\Article;
$res = Article::where('id', '<', 10)->delete();
echo "Removed: " . $res;
?>
Результат выполнения кода:
"Removed: 3"
Смотрите также
-
метод
forceDelete,
который выполняет полное удаление модели -
метод
restore,
который восстанавливает мягко удалённые записи -
метод
trashed,
который проверяет, была ли модель мягко удалена -
метод
delete,
который используется в Query Builder