Подключение
класс Подключение реализует ConnectionInterface (Просмотреть исходный код)
Трейты
| Обнаружение конфликтов одновременного доступа | |
| Обнаружение потерянных подключений | |
| Управление транзакциями |
Свойства
| protected PDO|Closure | $pdo | Активное подключение PDO. | |
| protected PDO|Closure | $readPdo | Активное подключение PDO, используемое для чтения. | |
| protected string | $database | Имя подключенной базы данных. | |
| protected string|null | $readWriteType | Тип подключения. | |
| protected string | $tablePrefix | Префикс таблицы для подключения. | |
| protected array | $config | Параметры конфигурации подключения к базе данных. | |
| protected callable | $reconnector | Объект-переподключатель для подключения. | |
| protected Grammar | $queryGrammar | Реализация синтаксического анализа запросов. | |
| protected Grammar | $schemaGrammar | Реализация синтаксического анализа схемы. | |
| protected Processor | $postProcessor | Реализация постпроцессора запросов. | |
| protected Dispatcher | $events | Экземпляр диспетчера событий. | |
| protected int | $fetchMode | Режим извлечения по умолчанию для подключения. | |
| protected int | $transactions | Количество активных транзакций. | |
| protected DatabaseTransactionsManager | $transactionsManager | Экземпляр менеджера транзакций. | |
| protected bool | $recordsModified | Указывает, были ли внесены изменения в базу данных. | |
| protected bool | $readOnWriteConnection | Указывает, должно ли подключение использовать подключение PDO для записи. | |
| protected array | $queryLog | Все запросы, выполненные к подключению. | |
| protected bool | $loggingQueries | Указывает, ведётся ли протоколирование запросов. | |
| protected bool | $pretending | Указывает, находится ли подключение в режиме "сухого прогона". | |
| protected array | $beforeExecutingCallbacks | Все колбэки, которые должны быть вызваны перед выполнением запроса. | |
| protected Connection | $doctrineConnection | Экземпляр подключения Doctrine. | |
| protected array | $doctrineTypeMappings | Картирования типов, которые должны быть зарегистрированы с новыми подключениями Doctrine. | |
| static protected array | $resolvers | Резолверы подключений. |
Методы
| bool | causedByConcurrencyError(Throwable $e) Определить, было ли данное исключение вызвано ошибкой конкурентного доступа, такой как тупик или сбой сериализации. | from DetectsConcurrencyErrors |
| bool | causedByLostConnection(Throwable $e) Определить, было ли данное исключение вызвано потерей соединения. | from DetectsLostConnections |
| mixed | transaction(Closure $callback, int $attempts = 1) Выполнить замыкание в рамках транзакции. | from ManagesTransactions |
| void | handleTransactionException(Throwable $e, int $currentAttempt, int $maxAttempts) Обработать исключение, возникшее при выполнении транзакционного оператора. | from ManagesTransactions |
| void | beginTransaction() Начать новую базу данных транзакцию. | from ManagesTransactions |
| void | createTransaction() Создать транзакцию в базе данных. | from ManagesTransactions |
| void | createSavepoint() Создать точку сохранения в базе данных. | from ManagesTransactions |
| void | handleBeginTransactionException(Throwable $e) Обработать исключение при начале транзакции. | from ManagesTransactions |
| void | commit() Подтвердить активную транзакцию базы данных. | from ManagesTransactions |
| void | handleCommitTransactionException(Throwable $e, int $currentAttempt, int $maxAttempts) Обработать исключение, возникшее при подтверждении транзакции. | from ManagesTransactions |
| void | rollBack(int|null $toLevel = null) Отменить активную транзакцию базы данных. | from ManagesTransactions |
| void | performRollBack(int $toLevel) Выполнить откат в базе данных. | from ManagesTransactions |
| void | handleRollBackException(Throwable $e) Обработать исключение при отмене. | from ManagesTransactions |
| int | transactionLevel() Получить количество активных транзакций. | from ManagesTransactions |
| void | afterCommit(callable $callback) Выполнить обратный вызов после подтверждения транзакции. | from ManagesTransactions |
| void | __construct(PDO|Closure $pdo, string $database = '', string $tablePrefix = '', array $config = []) Создать новый экземпляр соединения с базой данных. | |
| void | useDefaultQueryGrammar() Установить синтаксический анализатор запросов по умолчанию. | |
| Grammar | getDefaultQueryGrammar() Получить экземпляр синтаксического анализатора запросов по умолчанию. | |
| void | useDefaultSchemaGrammar() Установить синтаксический анализатор схемы по умолчанию. | |
| Grammar | getDefaultSchemaGrammar() Получить экземпляр синтаксического анализатора схемы по умолчанию. | |
| void | useDefaultPostProcessor() Установить обработчик запросов по умолчанию. | |
| Processor | getDefaultPostProcessor() Получить экземпляр обработчика запросов по умолчанию. | |
| Builder | getSchemaBuilder() Получить экземпляр билдера схем для соединения. | |
| Builder | table(Closure|Builder|string $table, string|null $as = null) Начать флуентный запрос к таблице базы данных. | |
| Builder | query() Получить новый экземпляр билдера запросов. | |
| mixed | selectOne(string $query, array $bindings = [], bool $useReadPdo = true) Выполнить оператор select и вернуть единственный результат. | |
| array | selectFromWriteConnection(string $query, array $bindings = []) Выполнить оператор select в базе данных. | |
| array | select(string $query, array $bindings = [], bool $useReadPdo = true) Выполнить оператор select в базе данных. | |
| Generator | cursor(string $query, array $bindings = [], bool $useReadPdo = true) Выполнить оператор select в базе данных и вернуть генератор. | |
| PDOStatement | prepared(PDOStatement $statement) Настроить подготовленное выражение PDO. |
| PDO | getPdoForSelect(bool $useReadPdo = true)
Получить соединение PDO для запроса выбора. | |
| bool | insert(string $query, array $bindings = [])
Выполнить операцию вставки в базу данных. | |
| int | update(string $query, array $bindings = [])
Выполнить операцию обновления в базе данных. | |
| int | delete(string $query, array $bindings = [])
Выполнить операцию удаления из базы данных. | |
| bool | statement(string $query, array $bindings = [])
Выполнить SQL-запрос и вернуть логическое значение результата. | |
| int | affectingStatement(string $query, array $bindings = [])
Выполнить SQL-запрос и получить количество изменённых строк. | |
| bool | unprepared(string $query)
Выполнить сырой, неподготовленный запрос к соединению PDO. | |
| array | pretend(Closure $callback)
Выполнить заданный обратный вызов в режиме «сухого запуска». | |
| array | withFreshQueryLog(Closure $callback)
Выполнить заданный обратный вызов в режиме «сухого запуска». | |
| void | bindValues(PDOStatement $statement, array $bindings)
Связать значения с их параметрами в данном операторе. | |
| array | prepareBindings(array $bindings)
Подготовить параметры запроса для выполнения. | |
| mixed | run(string $query, array $bindings, Closure $callback)
Выполнить SQL-запрос и записать контекст его выполнения. | |
| mixed | runQueryCallback(string $query, array $bindings, Closure $callback)
Выполнить SQL-запрос. | |
| void | logQuery(string $query, array $bindings, float|null $time = null)
Записать запрос в журнале запросов соединения. | |
| float | getElapsedTime(int $start)
Получить время, прошедшее с момента заданной начальной точки. | |
| mixed | handleQueryException(QueryException $e, string $query, array $bindings, Closure $callback)
Обработать исключение запроса. | |
| mixed | tryAgainIfCausedByLostConnection(QueryException $e, string $query, array $bindings, Closure $callback)
Обработать исключение запроса, возникшее во время выполнения запроса. | |
| void | reconnect()
Переподключиться к базе данных. | |
| void | reconnectIfMissingConnection()
Переподключиться к базе данных, если соединение PDO отсутствует. | |
| void | disconnect()
Отключиться от базового соединения PDO. | |
| $this | beforeExecuting(Closure $callback)
Зарегистрировать обработчик, который будет выполнен непосредственно перед выполнением запроса к базе данных. | |
| void | listen(Closure $callback)
Зарегистрировать слушатель запросов к базе данных с соединением. | |
| array|null | fireConnectionEvent(string $event)
Вызвать событие для этого соединения. | |
| void | event(mixed $event)
Вызвать заданное событие, если это возможно. | |
| Expression | raw(mixed $value)
Получить новое выражение для неоформленного запроса. | |
| bool | hasModifiedRecords()
Определить, модифицировал ли подключение к базе данных какие-либо записи. | |
| void | recordsHaveBeenModified(bool $value = true)
Указать, были ли изменены какие-либо записи. | |
| $this | setRecordModificationState(bool $value)
Установить состояние изменения записи. | |
| void | forgetRecordModificationState()
Сбросить состояние изменения записи. | |
| $this | useWriteConnectionWhenReading(bool $value = true)
Указать, что соединение должно использовать запись PDO-соединение для чтения. | |
| bool | isDoctrineAvailable()
Доступен ли Doctrine? | |
| Column | getDoctrineColumn(string $table, string $column)
Получить экземпляр Doctrine Schema Column. | |
| AbstractSchemaManager | getDoctrineSchemaManager()
Получить менеджер схемы Doctrine DBAL для соединения. | |
| Connection | getDoctrineConnection()
Получить экземпляр соединения Doctrine DBAL. | |
| void | registerDoctrineType(string $class, string $name, string $type)
Зарегистрировать пользовательский тип сопоставления Doctrine. | |
| PDO | getPdo()
Получить текущее PDO-соединение. | |
| PDO|Closure|null | getRawPdo()
Получить текущий параметр PDO-соединения без выполнения логики переподключения. | |
| PDO | getReadPdo()
Получить текущее PDO-соединение, используемое для чтения. | |
| PDO|Closure|null | getRawReadPdo()
Получить текущий параметр PDO-соединения для чтения без выполнения логики переподключения. | |
| $this | setPdo(PDO|Closure|null $pdo)
Установить PDO-соединение. | |
| $this | setReadPdo(PDO|Closure|null $pdo)
Установить PDO-соединение, используемое для чтения. |
| $this | setReconnector(callable $reconnector)
Установите экземпляр переподключения на соединении. | |
| string|null | getName()
Получить имя подключения к базе данных. | |
| string|null | getNameWithReadWriteType()
Получить полное имя подключения к базе данных. | |
| mixed | getConfig(string|null $option = null)
Получить параметр из параметров конфигурации. | |
| string | getDriverName()
Получить имя драйвера PDO. | |
| Grammar | getQueryGrammar()
Получить синтаксический анализатор запросов, используемый подключением. | |
| $this | setQueryGrammar(Grammar $grammar)
Установить синтаксический анализатор запросов, используемый подключением. | |
| Grammar | getSchemaGrammar()
Получить синтаксический анализатор схемы, используемый подключением. | |
| $this | setSchemaGrammar(Grammar $grammar)
Установить синтаксический анализатор схемы, используемый подключением. | |
| Processor | getPostProcessor()
Получить постпроцессор запросов, используемый подключением. | |
| $this | setPostProcessor(Processor $processor)
Установить постпроцессор запросов, используемый подключением. | |
| Dispatcher | getEventDispatcher()
Получить диспетчер событий, используемый подключением. | |
| $this | setEventDispatcher(Dispatcher $events)
Установить экземпляр диспетчера событий для подключения. | |
| void | unsetEventDispatcher()
Удалить диспетчер событий для этого подключения. | |
| $this | setTransactionManager(DatabaseTransactionsManager $manager)
Установить экземпляр менеджера транзакций для подключения. | |
| void | unsetTransactionManager()
Удалить менеджер транзакций для этого подключения. | |
| bool | pretending()
Определить, находится ли подключение в «режиме сухой прогона». | |
| array | getQueryLog()
Получить журнал запросов подключения. | |
| void | flushQueryLog()
Очистить журнал запросов. | |
| void | enableQueryLog()
Включить журнал запросов для подключения. | |
| void | disableQueryLog()
Отключить журнал запросов для подключения. | |
| bool | logging()
Определить, ведём ли мы протокол запросов. | |
| string | getDatabaseName()
Получить имя подключенной базы данных. | |
| $this | setDatabaseName(string $database)
Установить имя подключенной базы данных. | |
| $this | setReadWriteType(string|null $readWriteType)
Установить тип чтения/записи для подключения. | |
| string | getTablePrefix()
Получить префикс таблиц для подключения. | |
| $this | setTablePrefix(string $prefix)
Установить префикс таблиц, используемый подключением. | |
| Grammar | withTablePrefix(Grammar $grammar)
Установить префикс таблиц и вернуть синтаксический анализатор. | |
| static void | resolverFor(string $driver, Closure $callback)
Зарегистрировать резолвер подключений. | |
| static mixed | getResolver(string $driver)
Получить резолвер подключений для заданного драйвера. |
Details
protected bool causedByConcurrencyError(Throwable $e)
Определить, было ли данное исключение вызвано ошибкой конкурентного доступа, такой как тупик или сбой сериализации.
protected bool causedByLostConnection(Throwable $e)
Определить, было ли данное исключение вызвано потерей соединения.
mixed transaction(Closure $callback, int $attempts = 1)
Выполнить Closure в рамках транзакции.
protected void handleTransactionException(Throwable $e, int $currentAttempt, int $maxAttempts)
Обработать исключение, возникшее при выполнении транзакционной команды.
void beginTransaction()
Начать новую транзакцию базы данных.
protected void createTransaction()
Создать транзакцию в базе данных.
protected void createSavepoint()
Создать точку сохранения в базе данных.
protected void handleBeginTransactionException(Throwable $e)
Обработать исключение при начале транзакции.
void commit()
Подтвердить активную транзакцию базы данных.
protected void handleCommitTransactionException(Throwable $e, int $currentAttempt, int $maxAttempts)
Обработать исключение, возникшее при подтверждении транзакции.
void rollBack(int|null $toLevel = null)
Отменить активную транзакцию базы данных.
protected void performRollBack(int $toLevel)
Выполнить откат в базе данных.
protected void handleRollBackException(Throwable $e)
Обработать исключение при откате.
int transactionLevel()
Получить количество активных транзакций.
void afterCommit(callable $callback)
Выполнить обратный вызов после подтверждения транзакции.
void __construct(PDO|Closure $pdo, string $database = '', string $tablePrefix = '', array $config = [])
Создать новый экземпляр подключения к базе данных.
void useDefaultQueryGrammar()
Установить синтаксический анализатор запросов по умолчанию.
protected Grammar getDefaultQueryGrammar()
Получить экземпляр синтаксического анализатора запросов по умолчанию.
void useDefaultSchemaGrammar()
Установить синтаксический анализатор схемы по умолчанию.
protected Grammar getDefaultSchemaGrammar()
Получить экземпляр синтаксического анализатора схемы по умолчанию.
void useDefaultPostProcessor()
Установить обработчик результатов запросов по умолчанию.
protected Processor getDefaultPostProcessor()
Получить экземпляр обработчика результатов запросов по умолчанию.
Построитель схемы getSchemaBuilder()
Получить экземпляр построителя схемы для подключения.
Построитель table(Closure|Построитель|string $table, string|null $as = null)
Начать флюэнт-запрос к таблице базы данных.
Построитель query()
Получить новый экземпляр построителя запросов.
смешанный тип selectOne(string $query, array $bindings = [], bool $useReadPdo = true)
Выполнить запрос select и вернуть единственный результат.
массив selectFromWriteConnection(string $query, array $bindings = [])
Выполнить запрос select к базе данных.
массив select(string $query, array $bindings = [], bool $useReadPdo = true)
Выполнить запрос select к базе данных.
Генератор cursor(string $query, array $bindings = [], bool $useReadPdo = true)
Выполнить запрос select к базе данных и вернуть генератор.
защищённый PDOStatement prepared(PDOStatement $statement)
Настроить оператор подготовки PDO.
защищённый PDO getPdoForSelect(bool $useReadPdo = true)
Получить подключение PDO для запроса select.
логическое значение insert(string $query, array $bindings = [])
Выполнить запрос insert в базу данных.
целое число update(string $query, array $bindings = [])
Выполнить запрос update в базе данных.
целое число delete(string $query, array $bindings = [])
Выполнить запрос delete в базе данных.
логическое значение statement(string $query, array $bindings = [])
Выполнить SQL-запрос и вернуть логическое значение результата.
целое число affectingStatement(string $query, array $bindings = [])
Выполнить SQL-запрос и получить количество изменённых строк.
логическое значение unprepared(string $query)
Выполнить неподготовленный SQL-запрос к подключению PDO.
массив pretend(Closure $callback)
Выполнить указанный обратный вызов в режиме «сухого запуска».
защищённый массив withFreshQueryLog(Closure $callback)
Выполнить указанный обратный вызов в режиме «сухого запуска».
void bindValues(PDOStatement $statement, array $bindings)
Привязать значения к их параметрам в данном операторе.
array prepareBindings(array $bindings)
Подготовьте привязки запроса для выполнения.
protected mixed run(string $query, array $bindings, Closure $callback)
Выполнить SQL-запрос и записать контекст его выполнения.
protected mixed runQueryCallback(string $query, array $bindings, Closure $callback)
Выполнить SQL-запрос.
void logQuery(string $query, array $bindings, float|null $time = null)
Записать запрос в журнал запросов подключения.
protected float getElapsedTime(int $start)
Получить время, прошедшее с заданной начальной точки.
protected mixed handleQueryException(QueryException $e, string $query, array $bindings, Closure $callback)
Обработать исключение запроса.
protected mixed tryAgainIfCausedByLostConnection(QueryException $e, string $query, array $bindings, Closure $callback)
Обработать исключение запроса, произошедшее во время выполнения запроса.
void reconnect()
Подключиться к базе данных заново.
protected void reconnectIfMissingConnection()
Подключиться к базе данных заново, если отсутствует соединение PDO.
void disconnect()
Отключиться от базового соединения PDO.
$this beforeExecuting(Closure $callback)
Зарегистрировать обработчик, который выполнится непосредственно перед выполнением запроса к базе данных.
void listen(Closure $callback)
Зарегистрировать слушателя запросов базы данных для подключения.
protected array|null fireConnectionEvent(string $event)
Сгенерировать событие для этого подключения.
protected void event(mixed $event)
Сгенерировать заданное событие, если возможно.
Expression raw(mixed $value)
Получить новое выражение SQL с сырыми данными.
bool hasModifiedRecords()
Определить, изменили ли данные в базе данных.
void recordsHaveBeenModified(bool $value = true)
Указать, были ли изменены какие-либо записи.
$this setRecordModificationState(bool $value)
Установить состояние изменения записей.
void forgetRecordModificationState()
Сбросить состояние изменения записи.
$this useWriteConnectionWhenReading(bool $value = true)
Указать, что соединение должно использовать запись PDO для чтений.
bool isDoctrineAvailable()
Доступен ли Doctrine?
Column getDoctrineColumn(string $table, string $column)
Получить экземпляр Doctrine Schema Column.
AbstractSchemaManager getDoctrineSchemaManager()
Получить менеджер схемы Doctrine DBAL для подключения.
Connection getDoctrineConnection()
Получить экземпляр подключения к базе данных Doctrine DBAL.
void registerDoctrineType(string $class, string $name, string $type)
Зарегистрировать пользовательский тип отображения Doctrine.
PDO getPdo()
Получить текущее подключение PDO.
PDO|Closure|null getRawPdo()
Получить текущий параметр подключения PDO без выполнения логики повторного подключения.
PDO getReadPdo()
Получить текущее PDO-соединение, используемое для чтения.
PDO|Closure|null getRawReadPdo()
Получить текущий параметр подключения PDO для чтения без выполнения логики повторного подключения.
$this setReconnector(callable $reconnector)
Установить экземпляр повторного подключения к подключению.
string|null getName()
Получить имя подключения к базе данных.
string|null getNameWithReadWriteType()
Получить полное имя подключения к базе данных.
mixed getConfig(string|null $option = null)
Получить опцию из конфигурационных опций.
string getDriverName()
Получить имя драйвера PDO.
Grammar getQueryGrammar()
Получить используемую грамматику запросов подключения.
$this setQueryGrammar(Grammar $grammar)
Установить используемую грамматику запросов подключения.
Grammar getSchemaGrammar()
Получить используемую грамматику схемы подключения.
$this setSchemaGrammar(Grammar $grammar)
Установите грамматику схемы, используемую подключением.
Processor getPostProcessor()
Получить обработчик запросов, используемый подключением.
$this setPostProcessor(Processor $processor)
Установите обработчик запросов, используемый подключением.
Dispatcher getEventDispatcher()
Получить диспетчер событий, используемый подключением.
$this setEventDispatcher(Dispatcher $events)
Установите экземпляр диспетчера событий в подключении.
void unsetEventDispatcher()
Удалить диспетчер событий для этого подключения.
$this setTransactionManager(DatabaseTransactionsManager $manager)
Установите экземпляр менеджера транзакций в подключении.
void unsetTransactionManager()
Удалить менеджер транзакций для этого подключения.
bool pretending()
Определить, находится ли подключение в режиме "сухого запуска".
array getQueryLog()
Получить журнал запросов подключения.
void flushQueryLog()
Очистить журнал запросов.
void enableQueryLog()
Включить журнал запросов для подключения.
void disableQueryLog()
Отключить журнал запросов для подключения.
bool logging()
Определить, ведем ли мы логирование запросов.
string getDatabaseName()
Получить имя подключенной базы данных.
$this setDatabaseName(string $database)
Установить имя подключенной базы данных.
$this setReadWriteType(string|null $readWriteType)
Установить тип чтения/записи подключения.
string getTablePrefix()
Получить префикс таблицы для подключения.
$this setTablePrefix(string $prefix)
Установить используемый префикс таблицы в подключении.
static void resolverFor(string $driver, Closure $callback)
Зарегистрировать обработчик подключений.
static mixed getResolver(string $driver)
Получить обработчик подключений для данного драйвера.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/8.x/Illuminate/Database/Connection.html