РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
125 of 1392 menu

Метод delete

Метод delete применяется к экземпляру модели Eloquent или к построителю запросов и удаляет соответствующую запись из базы данных. При вызове на модели метод возвращает bool - true в случае успеха или false при ошибке. При использовании с построителем запросов возвращает количество удалённых записей.

Синтаксис

<?php // Для экземпляра модели $model->delete(); // Для построителя запросов Model::where('column', 'value')->delete(); ?>

Пример

Давайте удалим конкретную статью по её идентификатору:

<?php namespace App\Http\Controllers; use App\Models\Article; class ArticleController extends Controller { public function deleteArticle($id) { $article = Article::find($id); if ($article) { $res = $article->delete(); echo "Deleted: " . ($res ? "true" : "false"); } else { echo "Article not found"; } } } ?>

Результат выполнения кода при удалении существующей записи:

"Deleted: true"

Пример

Давайте удалим все статьи, у которых поле 'status' равно 'draft':

<?php namespace App\Http\Controllers; use App\Models\Article; class ArticleController extends Controller { public function deleteDrafts() { $count = Article::where('status', 'draft')->delete(); echo "Deleted articles: " . $count; } } ?>

Результат выполнения кода:

"Deleted articles: 5"

Пример

Давайте удалим статью и проверим, была ли она удалена, с помощью метода trashed, если используется SoftDeletes:

<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; class Article extends Model { use SoftDeletes; } ?>
<?php namespace App\Http\Controllers; use App\Models\Article; class ArticleController extends Controller { public function softDeleteArticle($id) { $article = Article::find($id); if ($article) { $article->delete(); echo "Soft deleted: " . ($article->trashed() ? "true" : "false"); } else { echo "Article not found"; } } } ?>

Результат выполнения кода:

"Soft deleted: true"

Пример

Давайте удалим все записи из таблицы статей, используя метод truncate, но будьте осторожны, так как это действие не может быть отменено и сбрасывает автоинкремент:

<?php namespace App\Http\Controllers; use App\Models\Article; class ArticleController extends Controller { public function truncateArticles() { Article::truncate(); echo "All articles have been deleted"; } } ?>

Результат выполнения кода:

"All articles have been deleted"

Смотрите также

  • метод save,
    который сохраняет модель в базу данных
  • метод update,
    который обновляет запись в базе данных
  • метод restore,
    который восстанавливает мягко удалённую запись
  • метод forceDelete,
    который окончательно удаляет модель из базы данных
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить