PHP Class Illuminate\Database\Connection

Inheritance: implements Illuminate\Database\ConnectionInterface, use trait Illuminate\Database\DetectsDeadlocks, use trait Illuminate\Database\DetectsLostConnections
Show file Open project: illuminate/database Class Usage Examples

Protected Properties

Property Type Description
$config array The database connection configuration options.
$database string The name of the connected database.
$doctrineConnection Doctrine\DBAL\Connection The instance of Doctrine connection.
$events Illuminate\Contracts\Events\Dispatcher The event dispatcher instance.
$fetchArgument mixed The argument for the fetch mode.
$fetchConstructorArgument array The constructor arguments for the PDO::FETCH_CLASS fetch mode.
$fetchMode integer The default fetch mode of the connection.
$loggingQueries boolean Indicates whether queries are being logged.
$pdo PDO The active PDO connection.
$postProcessor Illuminate\Database\Query\Processors\Processor The query post processor implementation.
$pretending boolean Indicates if the connection is in a "dry run".
$queryGrammar Illuminate\Database\Query\Grammars\Grammar The query grammar implementation.
$queryLog array All of the queries run against the connection.
$readPdo PDO The active PDO connection used for reads.
$reconnector callable The reconnector instance for the connection.
$schemaGrammar Illuminate\Database\Schema\Grammars\Grammar The schema grammar implementation.
$tablePrefix string The table prefix for the connection.
$transactions integer The number of active transactions.

Public Methods

Method Description
__construct ( PDO | Closure $pdo, string $database = '', string $tablePrefix = '', array $config = [] ) : void Create a new database connection instance.
affectingStatement ( string $query, array $bindings = [] ) : integer Run an SQL statement and get the number of rows affected.
beginTransaction ( ) : void Start a new database transaction.
bindValues ( PDOStatement $statement, array $bindings ) : void Bind values to their parameters in the given statement.
commit ( ) : void Commit the active database transaction.
cursor ( string $query, array $bindings = [], boolean $useReadPdo = true ) : Generator Run a select statement against the database and returns a generator.
delete ( string $query, array $bindings = [] ) : integer Run a delete statement against the database.
disableQueryLog ( ) : void Disable the query log on the connection.
disconnect ( ) : void Disconnect from the underlying PDO connection.
enableQueryLog ( ) : void Enable the query log on the connection.
flushQueryLog ( ) : void Clear the query log.
getConfig ( string $option ) : mixed Get an option from the configuration options.
getDatabaseName ( ) : string Get the name of the connected database.
getDoctrineColumn ( string $table, string $column ) : Doctrine\DBAL\Schema\Column Get a Doctrine Schema Column instance.
getDoctrineConnection ( ) : Doctrine\DBAL\Connection Get the Doctrine DBAL database connection instance.
getDoctrineSchemaManager ( ) : Doctrine\DBAL\Schema\AbstractSchemaManager Get the Doctrine DBAL schema manager for the connection.
getDriverName ( ) : string Get the PDO driver name.
getEventDispatcher ( ) : Illuminate\Contracts\Events\Dispatcher Get the event dispatcher used by the connection.
getFetchArgument ( ) : mixed Get the fetch argument to be applied when selecting.
getFetchConstructorArgument ( ) : array Get custom constructor arguments for the PDO::FETCH_CLASS fetch mode.
getFetchMode ( ) : integer Get the default fetch mode for the connection.
getName ( ) : string | null Get the database connection name.
getPdo ( ) : PDO Get the current PDO connection.
getPostProcessor ( ) : Illuminate\Database\Query\Processors\Processor Get the query post processor used by the connection.
getQueryGrammar ( ) : Illuminate\Database\Query\Grammars\Grammar Get the query grammar used by the connection.
getQueryLog ( ) : array Get the connection query log.
getReadPdo ( ) : PDO Get the current PDO connection used for reading.
getSchemaBuilder ( ) : Illuminate\Database\Schema\Builder Get a schema builder instance for the connection.
getSchemaGrammar ( ) : Illuminate\Database\Schema\Grammars\Grammar Get the schema grammar used by the connection.
getTablePrefix ( ) : string Get the table prefix for the connection.
insert ( string $query, array $bindings = [] ) : boolean Run an insert statement against the database.
isDoctrineAvailable ( ) : boolean Is Doctrine available?
listen ( Closure $callback ) : void Register a database query listener with the connection.
logQuery ( string $query, array $bindings, float | null $time = null ) : void Log a query in the connection's query log.
logging ( ) : boolean Determine whether we're logging queries.
prepareBindings ( array $bindings ) : array Prepare the query bindings for execution.
pretend ( Closure $callback ) : array Execute the given callback in "dry run" mode.
pretending ( ) : boolean Determine if the connection in a "dry run".
query ( ) : Builder Get a new query builder instance.
raw ( mixed $value ) : Illuminate\Database\Query\Expression Get a new raw query expression.
reconnect ( ) : void Reconnect to the database.
rollBack ( integer | null $toLevel = null ) : void Rollback the active database transaction.
select ( string $query, array $bindings = [], boolean $useReadPdo = true ) : array Run a select statement against the database.
selectFromWriteConnection ( string $query, array $bindings = [] ) : array Run a select statement against the database.
selectOne ( string $query, array $bindings = [] ) : mixed | null Run a select statement and return a single result.
setDatabaseName ( string $database ) : string Set the name of the connected database.
setEventDispatcher ( Illuminate\Contracts\Events\Dispatcher $events ) : void Set the event dispatcher instance on the connection.
setFetchMode ( integer $fetchMode, mixed $fetchArgument = null, array $fetchConstructorArgument = [] ) : integer Set the default fetch mode for the connection, and optional arguments for the given fetch mode.
setPdo ( PDO | null $pdo ) Set the PDO connection.
setPostProcessor ( Illuminate\Database\Query\Processors\Processor $processor ) : void Set the query post processor used by the connection.
setQueryGrammar ( Illuminate\Database\Query\Grammars\Grammar $grammar ) : void Set the query grammar used by the connection.
setReadPdo ( PDO | null $pdo ) Set the PDO connection used for reading.
setReconnector ( callable $reconnector ) Set the reconnect instance on the connection.
setSchemaGrammar ( Illuminate\Database\Schema\Grammars\Grammar $grammar ) : void Set the schema grammar used by the connection.
setTablePrefix ( string $prefix ) : void Set the table prefix in use by the connection.
statement ( string $query, array $bindings = [] ) : boolean Execute an SQL statement and return the boolean result.
table ( string $table ) : Builder Begin a fluent query against a database table.
transaction ( Closure $callback, integer $attempts = 1 ) : mixed Execute a Closure within a transaction.
transactionLevel ( ) : integer Get the number of active transactions.
unprepared ( string $query ) : boolean Run a raw, unprepared query against the PDO connection.
update ( string $query, array $bindings = [] ) : integer Run an update statement against the database.
useDefaultPostProcessor ( ) : void Set the query post processor to the default implementation.
useDefaultQueryGrammar ( ) : void Set the query grammar to the default implementation.
useDefaultSchemaGrammar ( ) : void Set the schema grammar to the default implementation.
withTablePrefix ( Illuminate\Database\Grammar $grammar ) : Illuminate\Database\Grammar Set the table prefix and return the grammar.

Protected Methods

Method Description
fireConnectionEvent ( string $event ) : void Fire an event for this connection.
getDefaultPostProcessor ( ) : Illuminate\Database\Query\Processors\Processor Get the default post processor instance.
getDefaultQueryGrammar ( ) : Illuminate\Database\Query\Grammars\Grammar Get the default query grammar instance.
getDefaultSchemaGrammar ( ) : Illuminate\Database\Schema\Grammars\Grammar Get the default schema grammar instance.
getElapsedTime ( integer $start ) : float Get the elapsed time since a given starting point.
getPdoForSelect ( boolean $useReadPdo = true ) : PDO Get the PDO connection to use for a select query.
reconnectIfMissingConnection ( ) : void Reconnect to the database if a PDO connection is missing.
run ( string $query, array $bindings, Closure $callback ) : mixed Run a SQL statement and log its execution context.
runQueryCallback ( string $query, array $bindings, Closure $callback ) : mixed Run a SQL statement.
tryAgainIfCausedByLostConnection ( Illuminate\Database\QueryException $e, string $query, array $bindings, Closure $callback ) : mixed Handle a query exception that occurred during query execution.

Method Details

__construct() public method

Create a new database connection instance.
public __construct ( PDO | Closure $pdo, string $database = '', string $tablePrefix = '', array $config = [] ) : void
$pdo PDO | Closure
$database string
$tablePrefix string
$config array
return void

affectingStatement() public method

Run an SQL statement and get the number of rows affected.
public affectingStatement ( string $query, array $bindings = [] ) : integer
$query string
$bindings array
return integer

beginTransaction() public method

Start a new database transaction.
public beginTransaction ( ) : void
return void

bindValues() public method

Bind values to their parameters in the given statement.
public bindValues ( PDOStatement $statement, array $bindings ) : void
$statement PDOStatement
$bindings array
return void

commit() public method

Commit the active database transaction.
public commit ( ) : void
return void

cursor() public method

Run a select statement against the database and returns a generator.
public cursor ( string $query, array $bindings = [], boolean $useReadPdo = true ) : Generator
$query string
$bindings array
$useReadPdo boolean
return Generator

delete() public method

Run a delete statement against the database.
public delete ( string $query, array $bindings = [] ) : integer
$query string
$bindings array
return integer

disableQueryLog() public method

Disable the query log on the connection.
public disableQueryLog ( ) : void
return void

disconnect() public method

Disconnect from the underlying PDO connection.
public disconnect ( ) : void
return void

enableQueryLog() public method

Enable the query log on the connection.
public enableQueryLog ( ) : void
return void

fireConnectionEvent() protected method

Fire an event for this connection.
protected fireConnectionEvent ( string $event ) : void
$event string
return void

flushQueryLog() public method

Clear the query log.
public flushQueryLog ( ) : void
return void

getConfig() public method

Get an option from the configuration options.
public getConfig ( string $option ) : mixed
$option string
return mixed

getDatabaseName() public method

Get the name of the connected database.
public getDatabaseName ( ) : string
return string

getDefaultPostProcessor() protected method

Get the default post processor instance.
protected getDefaultPostProcessor ( ) : Illuminate\Database\Query\Processors\Processor
return Illuminate\Database\Query\Processors\Processor

getDefaultQueryGrammar() protected method

Get the default query grammar instance.
protected getDefaultQueryGrammar ( ) : Illuminate\Database\Query\Grammars\Grammar
return Illuminate\Database\Query\Grammars\Grammar

getDefaultSchemaGrammar() protected method

Get the default schema grammar instance.
protected getDefaultSchemaGrammar ( ) : Illuminate\Database\Schema\Grammars\Grammar
return Illuminate\Database\Schema\Grammars\Grammar

getDoctrineColumn() public method

Get a Doctrine Schema Column instance.
public getDoctrineColumn ( string $table, string $column ) : Doctrine\DBAL\Schema\Column
$table string
$column string
return Doctrine\DBAL\Schema\Column

getDoctrineConnection() public method

Get the Doctrine DBAL database connection instance.
public getDoctrineConnection ( ) : Doctrine\DBAL\Connection
return Doctrine\DBAL\Connection

getDoctrineSchemaManager() public method

Get the Doctrine DBAL schema manager for the connection.
public getDoctrineSchemaManager ( ) : Doctrine\DBAL\Schema\AbstractSchemaManager
return Doctrine\DBAL\Schema\AbstractSchemaManager

getDriverName() public method

Get the PDO driver name.
public getDriverName ( ) : string
return string

getElapsedTime() protected method

Get the elapsed time since a given starting point.
protected getElapsedTime ( integer $start ) : float
$start integer
return float

getEventDispatcher() public method

Get the event dispatcher used by the connection.
public getEventDispatcher ( ) : Illuminate\Contracts\Events\Dispatcher
return Illuminate\Contracts\Events\Dispatcher

getFetchArgument() public method

Get the fetch argument to be applied when selecting.
public getFetchArgument ( ) : mixed
return mixed

getFetchConstructorArgument() public method

Get custom constructor arguments for the PDO::FETCH_CLASS fetch mode.

getFetchMode() public method

Get the default fetch mode for the connection.
public getFetchMode ( ) : integer
return integer

getName() public method

Get the database connection name.
public getName ( ) : string | null
return string | null

getPdo() public method

Get the current PDO connection.
public getPdo ( ) : PDO
return PDO

getPdoForSelect() protected method

Get the PDO connection to use for a select query.
protected getPdoForSelect ( boolean $useReadPdo = true ) : PDO
$useReadPdo boolean
return PDO

getPostProcessor() public method

Get the query post processor used by the connection.
public getPostProcessor ( ) : Illuminate\Database\Query\Processors\Processor
return Illuminate\Database\Query\Processors\Processor

getQueryGrammar() public method

Get the query grammar used by the connection.
public getQueryGrammar ( ) : Illuminate\Database\Query\Grammars\Grammar
return Illuminate\Database\Query\Grammars\Grammar

getQueryLog() public method

Get the connection query log.
public getQueryLog ( ) : array
return array

getReadPdo() public method

Get the current PDO connection used for reading.
public getReadPdo ( ) : PDO
return PDO

getSchemaBuilder() public method

Get a schema builder instance for the connection.
public getSchemaBuilder ( ) : Illuminate\Database\Schema\Builder
return Illuminate\Database\Schema\Builder

getSchemaGrammar() public method

Get the schema grammar used by the connection.
public getSchemaGrammar ( ) : Illuminate\Database\Schema\Grammars\Grammar
return Illuminate\Database\Schema\Grammars\Grammar

getTablePrefix() public method

Get the table prefix for the connection.
public getTablePrefix ( ) : string
return string

insert() public method

Run an insert statement against the database.
public insert ( string $query, array $bindings = [] ) : boolean
$query string
$bindings array
return boolean

isDoctrineAvailable() public method

Is Doctrine available?
public isDoctrineAvailable ( ) : boolean
return boolean

listen() public method

Register a database query listener with the connection.
public listen ( Closure $callback ) : void
$callback Closure
return void

logQuery() public method

Log a query in the connection's query log.
public logQuery ( string $query, array $bindings, float | null $time = null ) : void
$query string
$bindings array
$time float | null
return void

logging() public method

Determine whether we're logging queries.
public logging ( ) : boolean
return boolean

prepareBindings() public method

Prepare the query bindings for execution.
public prepareBindings ( array $bindings ) : array
$bindings array
return array

pretend() public method

Execute the given callback in "dry run" mode.
public pretend ( Closure $callback ) : array
$callback Closure
return array

pretending() public method

Determine if the connection in a "dry run".
public pretending ( ) : boolean
return boolean

query() public method

Get a new query builder instance.
public query ( ) : Builder
return Illuminate\Database\Query\Builder

raw() public method

Get a new raw query expression.
public raw ( mixed $value ) : Illuminate\Database\Query\Expression
$value mixed
return Illuminate\Database\Query\Expression

reconnect() public method

Reconnect to the database.
public reconnect ( ) : void
return void

reconnectIfMissingConnection() protected method

Reconnect to the database if a PDO connection is missing.
protected reconnectIfMissingConnection ( ) : void
return void

rollBack() public method

Rollback the active database transaction.
public rollBack ( integer | null $toLevel = null ) : void
$toLevel integer | null
return void

run() protected method

Run a SQL statement and log its execution context.
protected run ( string $query, array $bindings, Closure $callback ) : mixed
$query string
$bindings array
$callback Closure
return mixed

runQueryCallback() protected method

Run a SQL statement.
protected runQueryCallback ( string $query, array $bindings, Closure $callback ) : mixed
$query string
$bindings array
$callback Closure
return mixed

select() public method

Run a select statement against the database.
public select ( string $query, array $bindings = [], boolean $useReadPdo = true ) : array
$query string
$bindings array
$useReadPdo boolean
return array

selectFromWriteConnection() public method

Run a select statement against the database.
public selectFromWriteConnection ( string $query, array $bindings = [] ) : array
$query string
$bindings array
return array

selectOne() public method

Run a select statement and return a single result.
public selectOne ( string $query, array $bindings = [] ) : mixed | null
$query string
$bindings array
return mixed | null

setDatabaseName() public method

Set the name of the connected database.
public setDatabaseName ( string $database ) : string
$database string
return string

setEventDispatcher() public method

Set the event dispatcher instance on the connection.
public setEventDispatcher ( Illuminate\Contracts\Events\Dispatcher $events ) : void
$events Illuminate\Contracts\Events\Dispatcher
return void

setFetchMode() public method

Set the default fetch mode for the connection, and optional arguments for the given fetch mode.
public setFetchMode ( integer $fetchMode, mixed $fetchArgument = null, array $fetchConstructorArgument = [] ) : integer
$fetchMode integer
$fetchArgument mixed
$fetchConstructorArgument array
return integer

setPdo() public method

Set the PDO connection.
public setPdo ( PDO | null $pdo )
$pdo PDO | null

setPostProcessor() public method

Set the query post processor used by the connection.
public setPostProcessor ( Illuminate\Database\Query\Processors\Processor $processor ) : void
$processor Illuminate\Database\Query\Processors\Processor
return void

setQueryGrammar() public method

Set the query grammar used by the connection.
public setQueryGrammar ( Illuminate\Database\Query\Grammars\Grammar $grammar ) : void
$grammar Illuminate\Database\Query\Grammars\Grammar
return void

setReadPdo() public method

Set the PDO connection used for reading.
public setReadPdo ( PDO | null $pdo )
$pdo PDO | null

setReconnector() public method

Set the reconnect instance on the connection.
public setReconnector ( callable $reconnector )
$reconnector callable

setSchemaGrammar() public method

Set the schema grammar used by the connection.
public setSchemaGrammar ( Illuminate\Database\Schema\Grammars\Grammar $grammar ) : void
$grammar Illuminate\Database\Schema\Grammars\Grammar
return void

setTablePrefix() public method

Set the table prefix in use by the connection.
public setTablePrefix ( string $prefix ) : void
$prefix string
return void

statement() public method

Execute an SQL statement and return the boolean result.
public statement ( string $query, array $bindings = [] ) : boolean
$query string
$bindings array
return boolean

table() public method

Begin a fluent query against a database table.
public table ( string $table ) : Builder
$table string
return Illuminate\Database\Query\Builder

transaction() public method

Execute a Closure within a transaction.
public transaction ( Closure $callback, integer $attempts = 1 ) : mixed
$callback Closure
$attempts integer
return mixed

transactionLevel() public method

Get the number of active transactions.
public transactionLevel ( ) : integer
return integer

tryAgainIfCausedByLostConnection() protected method

Handle a query exception that occurred during query execution.
protected tryAgainIfCausedByLostConnection ( Illuminate\Database\QueryException $e, string $query, array $bindings, Closure $callback ) : mixed
$e Illuminate\Database\QueryException
$query string
$bindings array
$callback Closure
return mixed

unprepared() public method

Run a raw, unprepared query against the PDO connection.
public unprepared ( string $query ) : boolean
$query string
return boolean

update() public method

Run an update statement against the database.
public update ( string $query, array $bindings = [] ) : integer
$query string
$bindings array
return integer

useDefaultPostProcessor() public method

Set the query post processor to the default implementation.
public useDefaultPostProcessor ( ) : void
return void

useDefaultQueryGrammar() public method

Set the query grammar to the default implementation.
public useDefaultQueryGrammar ( ) : void
return void

useDefaultSchemaGrammar() public method

Set the schema grammar to the default implementation.
public useDefaultSchemaGrammar ( ) : void
return void

withTablePrefix() public method

Set the table prefix and return the grammar.
public withTablePrefix ( Illuminate\Database\Grammar $grammar ) : Illuminate\Database\Grammar
$grammar Illuminate\Database\Grammar
return Illuminate\Database\Grammar

Property Details

$config protected property

The database connection configuration options.
protected array $config
return array

$database protected property

The name of the connected database.
protected string $database
return string

$doctrineConnection protected property

The instance of Doctrine connection.
protected Connection,Doctrine\DBAL $doctrineConnection
return Doctrine\DBAL\Connection

$events protected property

The event dispatcher instance.
protected Dispatcher,Illuminate\Contracts\Events $events
return Illuminate\Contracts\Events\Dispatcher

$fetchArgument protected property

The argument for the fetch mode.
protected mixed $fetchArgument
return mixed

$fetchConstructorArgument protected property

The constructor arguments for the PDO::FETCH_CLASS fetch mode.
protected array $fetchConstructorArgument
return array

$fetchMode protected property

The default fetch mode of the connection.
protected int $fetchMode
return integer

$loggingQueries protected property

Indicates whether queries are being logged.
protected bool $loggingQueries
return boolean

$pdo protected property

The active PDO connection.
protected PDO $pdo
return PDO

$postProcessor protected property

The query post processor implementation.
protected Processor,Illuminate\Database\Query\Processors $postProcessor
return Illuminate\Database\Query\Processors\Processor

$pretending protected property

Indicates if the connection is in a "dry run".
protected bool $pretending
return boolean

$queryGrammar protected property

The query grammar implementation.
protected Grammar,Illuminate\Database\Query\Grammars $queryGrammar
return Illuminate\Database\Query\Grammars\Grammar

$queryLog protected property

All of the queries run against the connection.
protected array $queryLog
return array

$readPdo protected property

The active PDO connection used for reads.
protected PDO $readPdo
return PDO

$reconnector protected property

The reconnector instance for the connection.
protected callable $reconnector
return callable

$schemaGrammar protected property

The schema grammar implementation.
protected Grammar,Illuminate\Database\Schema\Grammars $schemaGrammar
return Illuminate\Database\Schema\Grammars\Grammar

$tablePrefix protected property

The table prefix for the connection.
protected string $tablePrefix
return string

$transactions protected property

The number of active transactions.
protected int $transactions
return integer