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

Метод connection

Метод connection класса DB позволяет получить экземпляр соединения с базой данных для дальнейшей работы с ним. Первым параметром передаётся имя соединения, указанное в конфигурационном файле config/database.php. Если параметр не указан, используется соединение по умолчанию. Метод возвращает экземпляр IlluminateDatabaseConnection, через который можно выполнять запросы, управлять транзакциями и получать информацию о схеме.

Синтаксис

<?php DB::connection($name); ?>

Пример

Давайте получим соединение с базой данных по умолчанию и выполним простой запрос:

<?php use IlluminateSupportFacadesDB; $connection = DB::connection(); $res = $connection->select('SELECT * FROM users WHERE id = ?', [1]); var_dump($res); ?>

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

array(1) { [0] => object(stdClass)#1 (4) { ["id"] => int(1) ["name"] => string(5) "user1" ["email"] => string(14) "user1@example.com" ["created_at"] => string(19) "2026-01-01 10:00:00" } }

Пример

Давайте укажем конкретное соединение из файла конфигурации:

<?php use IlluminateSupportFacadesDB; $connection = DB::connection('pgsql'); $res = $connection->select('SELECT * FROM posts WHERE status = ?', ['active']); foreach ($res as $post) { echo $post->title; } ?>

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

"Post 1" "Post 2" "Post 3"

Пример

Давайте выполним запрос напрямую через метод connection без сохранения экземпляра:

<?php use IlluminateSupportFacadesDB; $res = DB::connection('mysql')->selectOne('SELECT COUNT(*) as total FROM articles WHERE published = ?', [true]); echo $res->total; ?>

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

"42"

Пример

Давайте используем метод connection для управления транзакцией в определённом соединении:

<?php use IlluminateSupportFacadesDB; $connection = DB::connection('mysql'); $connection->beginTransaction(); try { $connection->insert('INSERT INTO logs (message, level) VALUES (?, ?)', ['System started', 'info']); $connection->insert('INSERT INTO logs (message, level) VALUES (?, ?)', ['User logged in', 'info']); $connection->commit(); echo "Transaction committed successfully"; } catch (Exception $e) { $connection->rollBack(); echo "Transaction rolled back"; } ?>

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

"Transaction committed successfully"

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

  • метод table,
    который возвращает построитель запросов для указанной таблицы
  • метод select,
    который выполняет SELECT-запрос и возвращает результат
  • метод transaction,
    который выполняет операции в транзакции
  • метод raw,
    который создаёт сырое выражение для запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить