Laravel — это мощный PHP-фреймворк, предоставляющий удобные методы взаимодействия с базами данных. Хотя Laravel Query Builder и Eloquent ORM предлагают выразительные способы запроса к базе данных, бывают ситуации, когда вам может потребоваться написать необработанные SQL-запросы. В этой статье мы рассмотрим различные методы необработанных запросов, доступные в Laravel, а также примеры кода, чтобы понять их использование.
- DB::select()
Методselect
позволяет выполнить необработанный запрос SELECT и получить результаты. Вот пример:
$users = DB::select('SELECT * FROM users WHERE active = ?', [1]);
- DB::insert()
Методinsert
позволяет выполнять необработанные инструкции INSERT. Вот пример:
DB::insert('INSERT INTO users (name, email) VALUES (?, ?)', ['John Doe', 'johndoe@example.com']);
- DB::update()
Методupdate
позволяет выполнять необработанные запросы UPDATE. Вот пример:
DB::update('UPDATE users SET active = ? WHERE id = ?', [0, 1]);
- DB::delete()
Методdelete
позволяет выполнять необработанные запросы DELETE. Вот пример:
DB::delete('DELETE FROM users WHERE id = ?', [1]);
- DB::statement()
Методstatement
— это универсальный метод, позволяющий выполнять любой необработанный оператор SQL. Вот пример:
DB::statement('ALTER TABLE users ADD COLUMN phone VARCHAR(15)');
- DB::unprepared()
Методunprepared
аналогиченstatement
, но он не подготавливает привязки запроса. Вот пример:
DB::unprepared('DROP TABLE users');
Laravel предоставляет несколько методов необработанных запросов, которые обеспечивают гибкость при работе со сложными операциями SQL. Используя эти методы, вы можете легко интегрировать необработанные SQL-запросы в свое приложение Laravel. Не забывайте проявлять осторожность при использовании необработанных запросов, чтобы предотвратить уязвимости внедрения SQL.
Освоив методы необработанных запросов Laravel, вы сможете использовать всю мощь своей базы данных, сохраняя при этом преимущества надежных функций и соглашений Laravel.