class Connection

Database connection.

Properties

protected string $name Connection name.
protected string. $queryCompiler Query compiler.
protected string $queryBuilderHelper Query builder helper.
protected string $dsn Connection DSN.
protected string $username Database username.
protected string $password Database password.
protected bool $enableLog Enable the query log?
protected bool $reconnect Should we reconnect?
protected bool $usePersistentConnection Should we use a persistent connection?
protected array $options PDO options.
protected array $onConnectQueries Queries that should be executed upon connecting.
protected PDO $pdo PDO object.
protected int $transactionNestingLevel Transaction nesting level.
protected array $log Query log.
protected bool $supportsTransactionalDDL Does the connection support transactional DDL?

Methods

__construct(string $name, string $queryCompiler, string $queryBuilderHelper, array $config)

Constructor.

close()

Closes the database connection.

bool
supportsTransactionalDDL()

Does the connection support transactional DDL?

string
getName()

Returns the connection name.

getQueryBuilderHelper()

Returns a query builder helper instance.

getQueryCompiler(Query $query)

Returns a query compiler instance.

PDO
getPDO()

Returns the PDO instance.

enableLog()

Enables the query log.

disableLog()

Disables the query log.

array
getConnectionOptions()

Returns the connection options.

PDO
connect()

Creates a PDO instance.

reconnect()

Creates a new PDO instance.

bool
isAlive()

Checks if the connection is alive.

string
prepareQueryForLog(string $query, array $params)

Prepares query for logging.

log(string $query, array $params, float $start)

Adds a query to the query log.

clearLog()

Clears the query log.

array
getLog()

Returns the query log for the connection.

array
prepareQueryAndParams(string $query, array $params)

Prepare query and params.

bool
isConnectionLostAndShouldItBeReestablished()

Should we try to reestablish the connection?

bindParameter(PDOStatement $statement, int $key, mixed $value)

Binds parameter to the prepared statement.

prepareAndExecute(string $query, array $params, bool $success = null)

Prepares and executes a query.

bool
query(string $query, array $params = [])

Executes the query and returns TRUE on success or FALSE on failure.

int
queryAndCount(string $query, array $params = [])

Executes the query and return number of affected rows.

mixed|bool
first(string $query, array $params = [], mixed ...$fetchMode)

Returns the first row of the result set.

array
all(string $query, array $params = [], mixed ...$fetchMode)

Returns an array containing all of the result set rows.

mixed|bool
column(string $query, array $params = [])

Returns the value of the first column of the first row of the result set.

array
columns(string $query, array $params = [])

Returns an array containing the values of the indicated 0-indexed column.

array
pairs(string $query, array $params = [])

Returns an array where the first column is used as keys and the second as values.

yield(string $query, array $params = [], mixed ...$fetchMode)

Returns a generator that lets you iterate over the results.

builder()

Returns a query builder instance.

table(null|string|Closure|Subquery|Raw $table)

Returns a query builder instance where we have already chosen the table we want to query.

bool
createSavepoint()

Creates a new savepoint.

bool
rollBackSavepoint()

Rolls back to the previously created savepoint.

bool
beginTransaction()

Begin a transaction.

bool
commitTransaction()

Commits a transaction.

bool
rollBackTransaction()

Roll back a transaction.

int
getTransactionNestingLevel()

Returns the transaction nesting level.

bool
inTransaction()

Returns TRUE if we're in a transaction and FALSE if not.

mixed
transaction(Closure $queries)

Executes queries and rolls back the transaction if any of them fail.

Details

at line 161
__construct(string $name, string $queryCompiler, string $queryBuilderHelper, array $config)

Constructor.

Parameters

string $name Connection name
string $queryCompiler Query compiler
string $queryBuilderHelper Query builder helper
array $config Connection configuration

at line 197
close()

Closes the database connection.

at line 207
bool supportsTransactionalDDL()

Does the connection support transactional DDL?

Return Value

bool

at line 217
string getName()

Returns the connection name.

Return Value

string

at line 227
HelperInterface getQueryBuilderHelper()

Returns a query builder helper instance.

Return Value

HelperInterface

at line 240
Compiler getQueryCompiler(Query $query)

Returns a query compiler instance.

Parameters

Query $query Query

Return Value

Compiler

at line 252
PDO getPDO()

Returns the PDO instance.

Return Value

PDO

at line 260
enableLog()

Enables the query log.

at line 268
disableLog()

Disables the query log.

at line 278
protected array getConnectionOptions()

Returns the connection options.

Return Value

array

at line 296
protected PDO connect()

Creates a PDO instance.

Return Value

PDO

Exceptions

RuntimeException

at line 324
reconnect()

Creates a new PDO instance.

at line 334
bool isAlive()

Checks if the connection is alive.

Return Value

bool

at line 355
protected string prepareQueryForLog(string $query, array $params)

Prepares query for logging.

Parameters

string $query SQL query
array $params Query paramaters

Return Value

string

at line 395
protected log(string $query, array $params, float $start)

Adds a query to the query log.

Parameters

string $query SQL query
array $params Query parameters
float $start Start time in microseconds

at line 407
clearLog()

Clears the query log.

at line 417
array getLog()

Returns the query log for the connection.

Return Value

array

at line 429
protected array prepareQueryAndParams(string $query, array $params)

Prepare query and params.

Parameters

string $query SQL Query
array $params Query parameters

Return Value

array

at line 460
protected bool isConnectionLostAndShouldItBeReestablished()

Should we try to reestablish the connection?

Return Value

bool

at line 472
protected bindParameter(PDOStatement $statement, int $key, mixed $value)

Binds parameter to the prepared statement.

Parameters

PDOStatement $statement PDO statement
int $key Parameter key
mixed $value Parameter value

at line 517
protected PDOStatement prepareAndExecute(string $query, array $params, bool $success = null)

Prepares and executes a query.

Parameters

string $query SQL query
array $params Query parameters
bool $success &$success Was the query executed successfully?

Return Value

PDOStatement

Exceptions

PDOException

at line 574
bool query(string $query, array $params = [])

Executes the query and returns TRUE on success or FALSE on failure.

Parameters

string $query SQL query
array $params Query parameters

Return Value

bool

at line 588
int queryAndCount(string $query, array $params = [])

Executes the query and return number of affected rows.

Parameters

string $query SQL query
array $params Query parameters

Return Value

int

at line 601
mixed|bool first(string $query, array $params = [], mixed ...$fetchMode)

Returns the first row of the result set.

Parameters

string $query SQL query
array $params Query params
mixed ...$fetchMode Fetch mode

Return Value

mixed|bool

at line 621
array all(string $query, array $params = [], mixed ...$fetchMode)

Returns an array containing all of the result set rows.

Parameters

string $query SQL query
array $params Query parameters
mixed ...$fetchMode Fetch mode

Return Value

array

at line 633
mixed|bool column(string $query, array $params = [])

Returns the value of the first column of the first row of the result set.

Parameters

string $query SQL query
array $params Query parameters

Return Value

mixed|bool

at line 645
array columns(string $query, array $params = [])

Returns an array containing the values of the indicated 0-indexed column.

Parameters

string $query SQL query
array $params Query parameters

Return Value

array

at line 657
array pairs(string $query, array $params = [])

Returns an array where the first column is used as keys and the second as values.

Parameters

string $query SQL query
array $params Query parameters

Return Value

array

at line 670
Generator yield(string $query, array $params = [], mixed ...$fetchMode)

Returns a generator that lets you iterate over the results.

Parameters

string $query SQL query
array $params Query params
mixed ...$fetchMode Fetch mode

Return Value

Generator

at line 697
Query builder()

Returns a query builder instance.

Return Value

Query

at line 708
Query table(null|string|Closure|Subquery|Raw $table)

Returns a query builder instance where we have already chosen the table we want to query.

Parameters

null|string|Closure|Subquery|Raw $table Database table or subquery

Return Value

Query

at line 718
protected bool createSavepoint()

Creates a new savepoint.

Return Value

bool

at line 728
protected bool rollBackSavepoint()

Rolls back to the previously created savepoint.

Return Value

bool

at line 738
bool beginTransaction()

Begin a transaction.

Return Value

bool

at line 753
bool commitTransaction()

Commits a transaction.

Return Value

bool

at line 768
bool rollBackTransaction()

Roll back a transaction.

Return Value

bool

at line 794
int getTransactionNestingLevel()

Returns the transaction nesting level.

Return Value

int

at line 804
bool inTransaction()

Returns TRUE if we're in a transaction and FALSE if not.

Return Value

bool

at line 816
mixed transaction(Closure $queries)

Executes queries and rolls back the transaction if any of them fail.

Parameters

Closure $queries Queries

Return Value

mixed

Exceptions

PDOException