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.

array
prepare(string $query, array $params)

Prepares a query.

bool
execute(array $prepared)

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

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
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 = [])

Executes a SELECT query and returns an array containing the values of the indicated 0-indexed column.

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

Executes a SELECT query and returns an array where the first column is used as keys and the second as values.

mixed
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.

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

Returns a generator that lets you iterate over the results.

builder()

Returns a query builder instance.

table(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 516
protected array prepare(string $query, array $params)

Prepares a query.

Parameters

string $query SQL query
array $params Query parameters

Return Value

array

Exceptions

PDOException

at line 560
protected bool execute(array $prepared)

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

Parameters

array $prepared Prepared query

Return Value

bool

at line 584
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 596
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 612
mixed 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

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

Executes a SELECT query and 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 640
array pairs(string $query, array $params = [])

Executes a SELECT query and 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 653
mixed 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

at line 675
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 692
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 721
Query builder()

Returns a query builder instance.

Return Value

Query

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

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

Parameters

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

Return Value

Query

at line 742
protected bool createSavepoint()

Creates a new savepoint.

Return Value

bool

at line 752
protected bool rollBackSavepoint()

Rolls back to the previously created savepoint.

Return Value

bool

at line 762
bool beginTransaction()

Begin a transaction.

Return Value

bool

at line 777
bool commitTransaction()

Commits a transaction.

Return Value

bool

at line 792
bool rollBackTransaction()

Roll back a transaction.

Return Value

bool

at line 818
int getTransactionNestingLevel()

Returns the transaction nesting level.

Return Value

int

at line 828
bool inTransaction()

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

Return Value

bool

at line 840
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