Удаление записей (delete)
Конструктор запросов так же позволяет удалять данные из таблиц в базе данных. Так же как и в остальных случаях работы с базой данных нам необходимо получить объект подключения к базе данных.
$connection = \Illuminate\Database\Capsule\Manager::connection();
В примерах ниже мы так же будем работать с таблицей test_table, структуру которой вы можете посмотреть в статье Вставка записей (insert)
Вы можете удалить все записи из таблицы следующим образом:
$connection->table('test_table')->delete();
Этот пример кода удалит все записи из таблицы test_table. Обратите внимание, значение автоинкремента не изменяется при таком подходе, по этому идентификаторы будут генерироваться не с нуля, а продолжат с того же номера на котором остановились.
Так же вы можете удалить запись с определенным идентификатором (если в таблице есть колонка id). Для этого в метод delete() передайте идентификатор строки, которую хотите удалить.
$connection->table('test_table')->delete(10);
Конструктор поддерживает установку дополнительных условий для удаления. В следующем примере удалятся все записи у которых идентификатор будет меньше чем 15
$connection->table('test_table')->where('id', '<', 15)->delete();
А этот пример удалит все записи с именем test
$connection->table('test_table')->where('name', '=', 'test')->delete();
Иногда нужно очистить таблицу полностью и сбросить значение автоинкремента. Сделать это можно следующим образом:
$connection->table('test_table')->truncate();