Метод unprepared
Метод unprepared класса DB выполняет произвольный SQL-запрос,
который не возвращает набор данных. Этот метод подходит для выполнения
DDL-команд (создание, изменение, удаление таблиц) или DML-операций,
результат которых не требуется получать обратно. В отличие от метода
statement, который возвращает количество затронутых строк,
unprepared не возвращает никакого значения. Первым параметром
передаётся строка SQL-запроса, вторым необязательным параметром - массив
параметров для подготовленного запроса.
Синтаксис
<?php
DB::unprepared($query, $bindings = []);
?>
Пример
Давайте создадим новую таблицу в базе данных:
<?php
use IlluminateSupportFacadesDB;
DB::unprepared('
CREATE TABLE logs (
id INT PRIMARY KEY AUTO_INCREMENT,
message TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
');
?>
Пример
Давайте добавим новый столбец в существующую таблицу:
<?php
use IlluminateSupportFacadesDB;
DB::unprepared('
ALTER TABLE articles ADD COLUMN views INTEGER DEFAULT 0
');
?>
Пример
Давайте удалим таблицу из базы данных:
<?php
use IlluminateSupportFacadesDB;
DB::unprepared('
DROP TABLE IF EXISTS temporary_data
');
?>
Пример
Давайте выполним запрос с параметрами, используя привязку значений:
<?php
use IlluminateSupportFacadesDB;
DB::unprepared('
UPDATE users
SET status = ?
WHERE last_login < ?
', ['inactive', '2025-01-01']);
?>