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

Метод truncate

Метод truncate применяется к запросу Query Builder и выполняет полную очистку таблицы. В отличие от метода delete, который удаляет записи по одной и не сбрасывает автоинкремент, truncate удаляет все строки и сбрасывает счётчик автоинкремента на начальное значение. Метод не принимает параметров и возвращает целое число - количество удалённых записей.

Синтаксис

<?php DB::table('users')->truncate(); ?>

Пример

Давайте очистим таблицу 'articles':

<?php use Illuminate\Support\Facades\DB; $res = DB::table('articles')->truncate(); echo $res; ?>

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

"10"

Пример

Давайте очистим таблицу 'users' в контроллере:

<?php namespace AppHttpControllers; use Illuminate\Support\Facades\DB; class UserController extends Controller { public function clearTable() { $res = DB::table('users')->truncate(); return response()->json([ 'message' => 'Table cleared successfully', 'deleted' => $res ]); } } ?>

Пример

Важно понимать, что truncate не сработает с таблицами, на которые есть внешние ключи. В таких случаях нужно использовать DELETE:

<?php use Illuminate\Support\Facades\DB; try { DB::table('orders')->truncate(); } catch (\Exception $e) { DB::table('orders')->delete(); } ?>

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

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