class SQLiteConnection extends Connection

Traits

Constants

READ_WRITE_TYPE_CONFIG_KEY

Properties

static protected array $macros

The registered string macros.

from  Macroable
protected null|PDO|PDO $pdo

The active PDO connection.

from  Connection
protected null|PDO|PDO $readPdo

The active PDO connection used for reads.

from  Connection
protected array $readPdoConfig

The database connection configuration options for reading.

from  Connection
protected string $database

The name of the connected database.

from  Connection
protected string $tablePrefix

The table prefix for the connection.

from  Connection
protected array $config

The database connection configuration options.

from  Connection
protected null|Connection): mixed $reconnector

The reconnector instance for the connection.

from  Connection
protected Grammar $queryGrammar

The query grammar implementation.

from  Connection
protected Grammar|null $schemaGrammar

The schema grammar implementation.

from  Connection
protected Processor $postProcessor

The query post processor implementation.

from  Connection
protected Dispatcher|null $events

The event dispatcher instance.

from  Connection
protected int $fetchMode

The default fetch mode of the connection.

from  Connection
protected int $transactions

The number of active transactions.

from  Connection
protected DatabaseTransactionsManager|null $transactionsManager

The transaction manager instance.

from  Connection
protected bool $recordsModified

Indicates if changes have been made to the database.

from  Connection
protected bool $readOnWriteConnection

Indicates if the connection should use the "write" PDO connection.

from  Connection
protected null|"read"|"write" $readWriteType

The configured read / write type for derived single-role connections.

from  Connection
protected null|"read"|"write" $latestPdoTypeRetrieved

The last retrieved PDO read / write type.

from  Connection
protected array<array{query: string, bindings: array, time: null|float}> $queryLog

All of the queries run against the connection.

from  Connection
protected bool $loggingQueries

Indicates whether queries are being logged.

from  Connection
protected float $totalQueryDuration

The duration of all executed queries in milliseconds.

from  Connection
protected array<array{threshold: float|int, handler: callable, has_run: bool}> $queryDurationHandlers

All of the registered query duration handlers.

from  Connection
protected bool $pretending

Indicates if the connection is in a "dry run".

from  Connection
protected Closure[] $beforeStartingTransaction

All of the callbacks that should be invoked before a transaction is started.

from  Connection
protected Closure[] $beforeExecutingCallbacks

All of the callbacks that should be invoked before a query is executed.

from  Connection
protected int $errorCount

The number of SQL execution errors on this connection.

from  Connection
static protected SessionConfigurator> $sessionConfigurators

The registered database session configurators.

from  Connection
static protected null|PhysicalSessionState> $physicalSessionStates

The state known for each live physical database session.

from  Connection
static protected Closure> $resolvers

The connection resolvers.

from  Connection

Methods

bool
causedByConcurrencyError(Throwable $e)

Determine if the given exception was caused by a concurrency error such as a deadlock or serialization failure.

bool
causedByLostConnection(Throwable $e)

Determine if the given exception was caused by a lost connection.

mixed
transaction(Closure $callback, int $attempts = 1)

No description

void
handleTransactionException(Throwable $e, int $currentAttempt, int $maxAttempts)

Handle an exception encountered when running a transacted statement.

void
beginTransaction()

Start a new database transaction.

void
createTransaction()

Create a transaction within the database.

void
createSavepoint()

Create a save point within the database.

void
handleBeginTransactionException(Throwable $e)

Handle an exception from a transaction beginning.

void
commit()

Commit the active database transaction.

void
performCommit()

Commit the active physical transaction.

void
handleCommitTransactionException(Throwable $e, int $currentAttempt, int $maxAttempts)

Handle an exception encountered when committing a transaction.

void
rollBack(int|null $toLevel = null)

Rollback the active database transaction.

void
performRollBack(int $toLevel, PDO $pdo)

Perform a rollback within the database.

void
handleRollBackException(Throwable $e)

Handle an exception from a rollback.

void
terminateTransactionState()

Detach transaction records and physical connection references.

int
transactionLevel()

Get the number of active transactions.

void
afterCommit(callable $callback)

Execute the callback after a transaction commits.

void
afterRollBack(callable $callback)

Execute the callback after a transaction rolls back.

int
secondsUntil(DateInterval|DateTimeInterface|int $delay)

Get the number of seconds until the given DateTime.

int
availableAt(DateInterval|DateTimeInterface|int|null $delay = 0)

Get the "available at" UNIX timestamp.

parseDateInterval(DateInterval|DateTimeInterface|int|null $delay)

If the given value is an interval, convert it to a DateTime instance.

int
currentTime()

Get the current system time as a UNIX timestamp.

string
runTimeForHumans(float $startTime, float|null $endTime = null)

Given a start time, format the total run time for human readability.

static void
macro(string $name, callable|object $macro)

Register a custom macro.

static void
mixin(object $mixin, bool $replace = true)

Mix another object into the class.

static bool
hasMacro(string $name)

Check if macro is registered.

static void
flushMacros()

Flush the existing macros.

static mixed
__callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

mixed
__call(string $method, array $parameters)

Dynamically handle calls to the class.

__construct(PDO|Closure $pdo, string $database = '', string $tablePrefix = '', array $config = [])

Create a new database connection instance.

void
useDefaultQueryGrammar()

Set the query grammar to the default implementation.

getDefaultQueryGrammar()

Get the default query grammar instance.

void
useDefaultSchemaGrammar()

Set the schema grammar to the default implementation.

Grammar|null
getDefaultSchemaGrammar()

Get the default schema grammar instance.

void
useDefaultPostProcessor()

Set the query post processor to the default implementation.

getDefaultPostProcessor()

Get the default post processor instance.

getSchemaBuilder()

Get a schema builder instance for the connection.

getSchemaState(Filesystem|null $files = null, callable|null $processFactory = null)

Get the schema state for the connection.

table(Closure|Builder|UnitEnum|string $table, string|null $as = null)

Begin a fluent query against a database table.

query()

Get a new query builder instance.

mixed
selectOne(string $query, array $bindings = [], bool $useReadPdo = true)

Run a select statement and return a single result.

mixed
scalar(string $query, array $bindings = [], bool $useReadPdo = true)

Run a select statement and return the first column of the first row.

array
selectFromWriteConnection(string $query, array $bindings = [])

Run a select statement against the database.

array
select(string $query, array $bindings = [], bool $useReadPdo = true, array $fetchUsing = [])

Run a select statement against the database.

array
selectResultSets(string $query, array $bindings = [], bool $useReadPdo = true)

Run a select statement against the database and returns all of the result sets.

cursor(string $query, array $bindings = [], bool $useReadPdo = true, array $fetchUsing = [])

Run a select statement against the database and returns a generator.

prepared(PDOStatement $statement)

Configure the PDO prepared statement.

PDO
getPdoForSelect(bool $useReadPdo = true)

Get the PDO connection to use for a select query.

bool
insert(string $query, array $bindings = [])

Run an insert statement against the database.

int
update(string $query, array $bindings = [])

Run an update statement against the database.

int
delete(string $query, array $bindings = [])

Run a delete statement against the database.

bool
statement(string $query, array $bindings = [])

Execute an SQL statement and return the boolean result.

int
affectingStatement(string $query, array $bindings = [])

Run an SQL statement and get the number of rows affected.

bool
unprepared(string $query)

Run a raw, unprepared query against the PDO connection.

int|null
threadCount()

Get the number of open connections for the database.

array
pretend(Closure $callback)

Execute the given callback in "dry run" mode.

mixed
withoutPretending(Closure $callback)

Execute the given callback without "pretending".

array
withFreshQueryLog(Closure $callback)

Execute the given callback in "dry run" mode.

void
bindValues(PDOStatement $statement, array $bindings)

Bind values to their parameters in the given statement.

array
prepareBindings(array $bindings)

Prepare the query bindings for execution.

mixed
run(string $query, array $bindings, Closure $callback)

Run a SQL statement and log its execution context.

mixed
runQueryCallback(string $query, array $bindings, Closure $callback)

Run a SQL statement.

bool
isUniqueConstraintError(Exception $exception)

Determine if the given database exception was caused by a unique constraint violation.

array
parseUniqueConstraintViolation(Exception $exception)

Extract the columns that caused a unique constraint violation.

void
logQuery(string $query, array $bindings, float|null $time = null)

Log a query in the connection's query log.

float
getElapsedTime(float $start)

Get the elapsed time in milliseconds since a given starting point.

void
whenQueryingForLongerThan(DateTimeInterface|CarbonInterval|float|int $threshold, callable $handler)

Register a callback to be invoked when the connection queries for longer than a given amount of time.

void
allowQueryDurationHandlersToRunAgain()

Allow all the query duration handlers to run again, even if they have already run.

float
totalQueryDuration()

Get the duration of all run queries in milliseconds.

void
resetTotalQueryDuration()

Reset the duration of all run queries.

mixed
handleQueryException(QueryException $e, string $query, array $bindings, Closure $callback)

Handle a query exception.

mixed
tryAgainIfCausedByLostConnection(QueryException $e, string $query, array $bindings, Closure $callback)

Handle a query exception that occurred during query execution.

mixed
reconnect()

Reconnect to the database.

void
reconnectIfMissingConnection()

Reconnect to the database if a PDO connection is missing.

void
disconnect()

Disconnect from the underlying PDO connection.

beforeStartingTransaction(Closure $callback)

Register a hook to be run just before a database transaction is started.

beforeExecuting(Closure $callback)

Register a hook to be run just before a database query is executed.

void
clearBeforeExecutingCallbacks()

Clear all hooks registered to run before a database query.

void
resetForPool()

Reset all wrapper state for pool release.

int
getErrorCount()

Get the number of SQL execution errors on this connection.

void
listen(Closure $callback)

Register a database query listener with the connection.

void
fireConnectionEvent(string $event)

Fire an event for this connection.

void
event(string $eventClass, Closure $event)

Fire the given event if listeners are registered.

raw(mixed $value)

Get a new raw query expression.

string
escape(mixed $value, bool $binary = false)

Escape a value for safe SQL embedding.

string
escapeString(string $value)

Escape a string value for safe SQL embedding.

string
escapeBool(bool $value)

Escape a boolean value for safe SQL embedding.

string
escapeBinary(string $value)

Escape a binary value for safe SQL embedding.

bool
hasModifiedRecords()

Determine if the database connection has modified any database records.

void
recordsHaveBeenModified(bool $value = true)

Indicate if any records have been modified.

setRecordModificationState(bool $value)

Set the record modification state.

void
forgetRecordModificationState()

Reset the record modification state.

useWriteConnectionWhenReading(bool $value = true)

Indicate that the connection should use the write PDO connection for reads.

PDO
getPdo()

Get the current synchronized PDO connection.

PDO|Closure|null
getRawPdo()

Get the current PDO parameter without resolving, reconnecting, or synchronizing session state.

PDO
getReadPdo()

Get the current synchronized PDO connection used for reading.

PDO|Closure|null
getRawReadPdo()

Get the current read PDO parameter without resolving, reconnecting, or synchronizing session state.

PDO
resolvePdo()

Resolve the current write PDO without synchronizing session state.

PDO
resolveReadPdo()

Resolve the current read PDO without synchronizing session state.

PDO
synchronizeSession(PDO $pdo, bool $read)

Synchronize the desired state for a physical database session.

PDO
replaceUnknownSession(bool $read)

Replace a physical session whose state can no longer be trusted.

physicalSessionState(PDO $pdo)

Get the state holder for a physical database session.

static bool
sessionStateIsUnknown(PDO $pdo)

Determine whether a physical database session has unknown state.

void
invalidateSessionState(PDO $pdo)

Invalidate the states remembered for a physical database session.

void
markSessionStateUnknown(PDO $pdo)

Mark a physical database session's state as unknown.

bool
hasUnknownSessionState()

Determine whether an open PDO has unknown session state.

setPdo(PDO|Closure|null $pdo)

Set the PDO connection.

setReadPdo(PDO|Closure|null $pdo)

Set the PDO connection used for reading.

setReadPdoConfig(array $config)

Set the read PDO connection configuration.

setReconnector(callable $reconnector)

Set the reconnect instance on the connection.

string|null
getName()

Get the database connection name.

mixed
getConfig(string|null $option = null)

Get an option from the configuration options.

array
getConnectionDetails()

Get the basic connection information as an array for debugging.

string
getDriverName()

Get the PDO driver name.

string
getDriverTitle()

Get a human-readable name for the given connection driver.

getQueryGrammar()

Get the query grammar used by the connection.

setQueryGrammar(Grammar $grammar)

Set the query grammar used by the connection.

Grammar|null
getSchemaGrammar()

Get the schema grammar used by the connection.

setSchemaGrammar(Grammar $grammar)

Set the schema grammar used by the connection.

getPostProcessor()

Get the query post processor used by the connection.

setPostProcessor(Processor $processor)

Set the query post processor used by the connection.

Dispatcher|null
getEventDispatcher()

Get the event dispatcher used by the connection.

setEventDispatcher(Dispatcher $events)

Set the event dispatcher instance on the connection.

void
unsetEventDispatcher()

Unset the event dispatcher for this connection.

void
executeBeginTransactionStatement()

Run the statement to start a new transaction.

setTransactionManager(DatabaseTransactionsManager $manager)

Set the transaction manager instance on the connection.

getTransactionManager()

Get the transaction manager instance.

void
unsetTransactionManager()

Unset the transaction manager for this connection.

bool
pretending()

Determine if the connection is in a "dry run".

array
getQueryLog()

Get the connection query log.

array
getRawQueryLog()

Get the connection query log with embedded bindings.

void
flushQueryLog()

Clear the query log.

void
enableQueryLog()

Enable the query log on the connection.

void
disableQueryLog()

Disable the query log on the connection.

bool
logging()

Determine whether we're logging queries.

string
getDatabaseName()

Get the name of the connected database.

setDatabaseName(string $database)

Set the name of the connected database.

string|null
latestReadWriteTypeUsed()

Retrieve the latest read / write type used.

string
getTablePrefix()

Get the table prefix for the connection.

setTablePrefix(string $prefix)

Set the table prefix in use by the connection.

mixed
withoutTablePrefix(Closure $callback)

Execute the given callback without table prefix.

string
getServerVersion()

Get the server version for the connection.

static void
configureSessionUsing(SessionConfigurator $configurator)

Register a database session configurator.

static void
resolverFor(string $driver, Closure $callback)

Register a connection resolver.

static Closure|null
getResolver(string $driver)

Get the connection resolver for the given driver.

static void
flushState()

Flush all static state.

void
__clone()

Prepare the instance for cloning.

Details

protected bool causedByConcurrencyError(Throwable $e)

Determine if the given exception was caused by a concurrency error such as a deadlock or serialization failure.

Parameters

Throwable $e

Return Value

bool

protected bool causedByLostConnection(Throwable $e)

Determine if the given exception was caused by a lost connection.

Parameters

Throwable $e

Return Value

bool

mixed transaction(Closure $callback, int $attempts = 1)

No description

Parameters

Closure $callback
int $attempts

Return Value

mixed

Exceptions

Throwable

in ManagesTransactions at line 109
protected void handleTransactionException(Throwable $e, int $currentAttempt, int $maxAttempts)

Handle an exception encountered when running a transacted statement.

Parameters

Throwable $e
int $currentAttempt
int $maxAttempts

Return Value

void

Exceptions

Throwable

in ManagesTransactions at line 163
void beginTransaction()

Start a new database transaction.

Return Value

void

Exceptions

Throwable

in ManagesTransactions at line 197
protected void createTransaction()

Create a transaction within the database.

Return Value

void

Exceptions

Throwable

in ManagesTransactions at line 217
protected void createSavepoint()

Create a save point within the database.

Return Value

void

Exceptions

Throwable

in ManagesTransactions at line 229
protected void handleBeginTransactionException(Throwable $e)

Handle an exception from a transaction beginning.

Parameters

Throwable $e

Return Value

void

Exceptions

Throwable

in ManagesTransactions at line 245
void commit()

Commit the active database transaction.

Return Value

void

Exceptions

Throwable

in ManagesTransactions at line 283
protected void performCommit()

Commit the active physical transaction.

Return Value

void

in ManagesTransactions at line 306
protected void handleCommitTransactionException(Throwable $e, int $currentAttempt, int $maxAttempts)

Handle an exception encountered when committing a transaction.

Parameters

Throwable $e
int $currentAttempt
int $maxAttempts

Return Value

void

Exceptions

Throwable

in ManagesTransactions at line 340
void rollBack(int|null $toLevel = null)

Rollback the active database transaction.

Parameters

int|null $toLevel

Return Value

void

Exceptions

Throwable

in ManagesTransactions at line 398
protected void performRollBack(int $toLevel, PDO $pdo)

Perform a rollback within the database.

Parameters

int $toLevel
PDO $pdo

Return Value

void

Exceptions

Throwable

in ManagesTransactions at line 416
protected void handleRollBackException(Throwable $e)

Handle an exception from a rollback.

Parameters

Throwable $e

Return Value

void

Exceptions

Throwable

in ManagesTransactions at line 432
protected void terminateTransactionState()

Detach transaction records and physical connection references.

Return Value

void

in ManagesTransactions at line 453
int transactionLevel()

Get the number of active transactions.

Return Value

int

in ManagesTransactions at line 463
void afterCommit(callable $callback)

Execute the callback after a transaction commits.

Parameters

callable $callback

Return Value

void

Exceptions

RuntimeException

in ManagesTransactions at line 479
void afterRollBack(callable $callback)

Execute the callback after a transaction rolls back.

Parameters

callable $callback

Return Value

void

Exceptions

RuntimeException

in InteractsWithTime at line 17
protected int secondsUntil(DateInterval|DateTimeInterface|int $delay)

Get the number of seconds until the given DateTime.

Parameters

DateInterval|DateTimeInterface|int $delay

Return Value

int

in InteractsWithTime at line 29
protected int availableAt(DateInterval|DateTimeInterface|int|null $delay = 0)

Get the "available at" UNIX timestamp.

Parameters

DateInterval|DateTimeInterface|int|null $delay

Return Value

int

in InteractsWithTime at line 41
protected DateTimeInterface|int parseDateInterval(DateInterval|DateTimeInterface|int|null $delay)

If the given value is an interval, convert it to a DateTime instance.

Parameters

DateInterval|DateTimeInterface|int|null $delay

Return Value

DateTimeInterface|int

in InteractsWithTime at line 57
protected int currentTime()

Get the current system time as a UNIX timestamp.

Return Value

int

in InteractsWithTime at line 65
protected string runTimeForHumans(float $startTime, float|null $endTime = null)

Given a start time, format the total run time for human readability.

Parameters

float $startTime
float|null $endTime

Return Value

string

in Macroable at line 28
static void macro(string $name, callable|object $macro)

Register a custom macro.

Boot-only. Macros persist in a static property for the worker lifetime and apply to every subsequent call on the macroable class.

Parameters

string $name
callable|object $macro

Return Value

void

in Macroable at line 41
static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

Boot-only. Delegates to macro() for each method; registered macros persist in a static property for the worker lifetime.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

in Macroable at line 57
static bool hasMacro(string $name)

Check if macro is registered.

Parameters

string $name

Return Value

bool

in Macroable at line 68
static void flushMacros()

Flush the existing macros.

Boot or tests only. Clears worker-wide macros; concurrent coroutines may resolve different methods depending on timing.

Return Value

void

in Macroable at line 78
static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

in Macroable at line 103
mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

in Connection at line 222
__construct(PDO|Closure $pdo, string $database = '', string $tablePrefix = '', array $config = [])

Create a new database connection instance.

Parameters

PDO|Closure $pdo
string $database
string $tablePrefix
array $config

in Connection at line 248
void useDefaultQueryGrammar()

Set the query grammar to the default implementation.

Return Value

void

at line 84
protected Grammar getDefaultQueryGrammar()

Get the default query grammar instance.

Return Value

Grammar

in Connection at line 264
void useDefaultSchemaGrammar()

Set the schema grammar to the default implementation.

Return Value

void

at line 104
protected Grammar|null getDefaultSchemaGrammar()

Get the default schema grammar instance.

Return Value

Grammar|null

in Connection at line 280
void useDefaultPostProcessor()

Set the query post processor to the default implementation.

Return Value

void

at line 121
protected Processor getDefaultPostProcessor()

Get the default post processor instance.

Return Value

Processor

at line 92
Builder getSchemaBuilder()

Get a schema builder instance for the connection.

Return Value

Builder

at line 112
SchemaState getSchemaState(Filesystem|null $files = null, callable|null $processFactory = null)

Get the schema state for the connection.

Parameters

Filesystem|null $files
callable|null $processFactory

Return Value

SchemaState

in Connection at line 318
Builder table(Closure|Builder|UnitEnum|string $table, string|null $as = null)

Begin a fluent query against a database table.

Parameters

Closure|Builder|UnitEnum|string $table
string|null $as

Return Value

Builder

in Connection at line 330
Builder query()

Get a new query builder instance.

Return Value

Builder

in Connection at line 342
mixed selectOne(string $query, array $bindings = [], bool $useReadPdo = true)

Run a select statement and return a single result.

Parameters

string $query
array $bindings
bool $useReadPdo

Return Value

mixed

in Connection at line 354
mixed scalar(string $query, array $bindings = [], bool $useReadPdo = true)

Run a select statement and return the first column of the first row.

Parameters

string $query
array $bindings
bool $useReadPdo

Return Value

mixed

Exceptions

MultipleColumnsSelectedException

in Connection at line 374
array selectFromWriteConnection(string $query, array $bindings = [])

Run a select statement against the database.

Parameters

string $query
array $bindings

Return Value

array

in Connection at line 382
array select(string $query, array $bindings = [], bool $useReadPdo = true, array $fetchUsing = [])

Run a select statement against the database.

Parameters

string $query
array $bindings
bool $useReadPdo
array $fetchUsing

Return Value

array

in Connection at line 407
array selectResultSets(string $query, array $bindings = [], bool $useReadPdo = true)

Run a select statement against the database and returns all of the result sets.

Parameters

string $query
array $bindings
bool $useReadPdo

Return Value

array

in Connection at line 437
Generator cursor(string $query, array $bindings = [], bool $useReadPdo = true, array $fetchUsing = [])

Run a select statement against the database and returns a generator.

Parameters

string $query
array $bindings
bool $useReadPdo
array $fetchUsing

Return Value

Generator

in Connection at line 471
protected PDOStatement prepared(PDOStatement $statement)

Configure the PDO prepared statement.

Parameters

PDOStatement $statement

Return Value

PDOStatement

in Connection at line 483
protected PDO getPdoForSelect(bool $useReadPdo = true)

Get the PDO connection to use for a select query.

Parameters

bool $useReadPdo

Return Value

PDO

in Connection at line 491
bool insert(string $query, array $bindings = [])

Run an insert statement against the database.

Parameters

string $query
array $bindings

Return Value

bool

in Connection at line 499
int update(string $query, array $bindings = [])

Run an update statement against the database.

Parameters

string $query
array $bindings

Return Value

int

in Connection at line 507
int delete(string $query, array $bindings = [])

Run a delete statement against the database.

Parameters

string $query
array $bindings

Return Value

int

in Connection at line 515
bool statement(string $query, array $bindings = [])

Execute an SQL statement and return the boolean result.

Parameters

string $query
array $bindings

Return Value

bool

in Connection at line 535
int affectingStatement(string $query, array $bindings = [])

Run an SQL statement and get the number of rows affected.

Parameters

string $query
array $bindings

Return Value

int

in Connection at line 562
bool unprepared(string $query)

Run a raw, unprepared query against the PDO connection.

Parameters

string $query

Return Value

bool

in Connection at line 580
int|null threadCount()

Get the number of open connections for the database.

Return Value

int|null

in Connection at line 593
array pretend(Closure $callback)

Execute the given callback in "dry run" mode.

Parameters

Closure $callback

Return Value

array

in Connection at line 619
mixed withoutPretending(Closure $callback)

Execute the given callback without "pretending".

Parameters

Closure $callback

Return Value

mixed

in Connection at line 639
protected array withFreshQueryLog(Closure $callback)

Execute the given callback in "dry run" mode.

Parameters

Closure $callback

Return Value

array

in Connection at line 663
void bindValues(PDOStatement $statement, array $bindings)

Bind values to their parameters in the given statement.

Parameters

PDOStatement $statement
array $bindings

Return Value

void

in Connection at line 681
array prepareBindings(array $bindings)

Prepare the query bindings for execution.

Parameters

array $bindings

Return Value

array

in Connection at line 704
protected mixed run(string $query, array $bindings, Closure $callback)

Run a SQL statement and log its execution context.

Parameters

string $query
array $bindings
Closure $callback

Return Value

mixed

Exceptions

QueryException

in Connection at line 745
protected mixed runQueryCallback(string $query, array $bindings, Closure $callback)

Run a SQL statement.

Parameters

string $query
array $bindings
Closure $callback

Return Value

mixed

Exceptions

QueryException

at line 55
protected bool isUniqueConstraintError(Exception $exception)

Determine if the given database exception was caused by a unique constraint violation.

Parameters

Exception $exception

Return Value

bool

at line 65
protected array parseUniqueConstraintViolation(Exception $exception)

Extract the columns that caused a unique constraint violation.

Parameters

Exception $exception

Return Value

array

in Connection at line 804
void logQuery(string $query, array $bindings, float|null $time = null)

Log a query in the connection's query log.

Parameters

string $query
array $bindings
float|null $time

Return Value

void

in Connection at line 845
protected float getElapsedTime(float $start)

Get the elapsed time in milliseconds since a given starting point.

Parameters

float $start

Return Value

float

in Connection at line 853
void whenQueryingForLongerThan(DateTimeInterface|CarbonInterval|float|int $threshold, callable $handler)

Register a callback to be invoked when the connection queries for longer than a given amount of time.

Parameters

DateTimeInterface|CarbonInterval|float|int $threshold
callable $handler

Return Value

void

in Connection at line 873
void allowQueryDurationHandlersToRunAgain()

Allow all the query duration handlers to run again, even if they have already run.

Return Value

void

in Connection at line 883
float totalQueryDuration()

Get the duration of all run queries in milliseconds.

Return Value

float

in Connection at line 891
void resetTotalQueryDuration()

Reset the duration of all run queries.

Return Value

void

in Connection at line 901
protected mixed handleQueryException(QueryException $e, string $query, array $bindings, Closure $callback)

Handle a query exception.

Parameters

QueryException $e
string $query
array $bindings
Closure $callback

Return Value

mixed

Exceptions

QueryException

in Connection at line 920
protected mixed tryAgainIfCausedByLostConnection(QueryException $e, string $query, array $bindings, Closure $callback)

Handle a query exception that occurred during query execution.

Parameters

QueryException $e
string $query
array $bindings
Closure $callback

Return Value

mixed

Exceptions

QueryException

in Connection at line 936
mixed reconnect()

Reconnect to the database.

Return Value

mixed

Exceptions

LostConnectionException

in Connection at line 948
void reconnectIfMissingConnection()

Reconnect to the database if a PDO connection is missing.

Return Value

void

in Connection at line 958
void disconnect()

Disconnect from the underlying PDO connection.

Return Value

void

in Connection at line 990
Connection beforeStartingTransaction(Closure $callback)

Register a hook to be run just before a database transaction is started.

Parameters

Closure $callback

Return Value

Connection

in Connection at line 1000
Connection beforeExecuting(Closure $callback)

Register a hook to be run just before a database query is executed.

Parameters

Closure $callback

Return Value

Connection

in Connection at line 1012
void clearBeforeExecutingCallbacks()

Clear all hooks registered to run before a database query.

Used by connection pooling to prevent callback leaks between requests.

Return Value

void

in Connection at line 1023
void resetForPool()

Reset all wrapper state for pool release.

Physical database session state is preserved and synchronized against the next coroutine's desired state when the PDO is handed out again.

Return Value

void

in Connection at line 1055
int getErrorCount()

Get the number of SQL execution errors on this connection.

Used by connection pooling to detect stale connections.

Return Value

int

in Connection at line 1063
void listen(Closure $callback)

Register a database query listener with the connection.

Parameters

Closure $callback

Return Value

void

in Connection at line 1071
protected void fireConnectionEvent(string $event)

Fire an event for this connection.

Parameters

string $event

Return Value

void

in Connection at line 1100
protected void event(string $eventClass, Closure $event)

Fire the given event if listeners are registered.

Parameters

string $eventClass
Closure $event

Return Value

void

in Connection at line 1110
Expression raw(mixed $value)

Get a new raw query expression.

Parameters

mixed $value

Return Value

Expression

in Connection at line 1120
string escape(mixed $value, bool $binary = false)

Escape a value for safe SQL embedding.

Parameters

mixed $value
bool $binary

Return Value

string

Exceptions

RuntimeException

in Connection at line 1151
protected string escapeString(string $value)

Escape a string value for safe SQL embedding.

Parameters

string $value

Return Value

string

in Connection at line 1159
protected string escapeBool(bool $value)

Escape a boolean value for safe SQL embedding.

Parameters

bool $value

Return Value

string

at line 45
protected string escapeBinary(string $value)

Escape a binary value for safe SQL embedding.

Parameters

string $value

Return Value

string

in Connection at line 1177
bool hasModifiedRecords()

Determine if the database connection has modified any database records.

Return Value

bool

in Connection at line 1185
void recordsHaveBeenModified(bool $value = true)

Indicate if any records have been modified.

Parameters

bool $value

Return Value

void

in Connection at line 1195
Connection setRecordModificationState(bool $value)

Set the record modification state.

Parameters

bool $value

Return Value

Connection

in Connection at line 1205
void forgetRecordModificationState()

Reset the record modification state.

Return Value

void

in Connection at line 1213
Connection useWriteConnectionWhenReading(bool $value = true)

Indicate that the connection should use the write PDO connection for reads.

Parameters

bool $value

Return Value

Connection

in Connection at line 1223
PDO getPdo()

Get the current synchronized PDO connection.

Return Value

PDO

in Connection at line 1236
PDO|Closure|null getRawPdo()

Get the current PDO parameter without resolving, reconnecting, or synchronizing session state.

Return Value

PDO|Closure|null

in Connection at line 1244
PDO getReadPdo()

Get the current synchronized PDO connection used for reading.

Return Value

PDO

in Connection at line 1266
PDO|Closure|null getRawReadPdo()

Get the current read PDO parameter without resolving, reconnecting, or synchronizing session state.

Return Value

PDO|Closure|null

in Connection at line 1274
protected PDO resolvePdo()

Resolve the current write PDO without synchronizing session state.

Return Value

PDO

in Connection at line 1286
protected PDO resolveReadPdo()

Resolve the current read PDO without synchronizing session state.

Return Value

PDO

in Connection at line 1304
protected PDO synchronizeSession(PDO $pdo, bool $read)

Synchronize the desired state for a physical database session.

Parameters

PDO $pdo
bool $read

Return Value

PDO

in Connection at line 1372
protected PDO replaceUnknownSession(bool $read)

Replace a physical session whose state can no longer be trusted.

Parameters

bool $read

Return Value

PDO

in Connection at line 1394
static protected PhysicalSessionState physicalSessionState(PDO $pdo)

Get the state holder for a physical database session.

Parameters

PDO $pdo

Return Value

PhysicalSessionState

in Connection at line 1404
static protected bool sessionStateIsUnknown(PDO $pdo)

Determine whether a physical database session has unknown state.

Parameters

PDO $pdo

Return Value

bool

in Connection at line 1414
protected void invalidateSessionState(PDO $pdo)

Invalidate the states remembered for a physical database session.

Parameters

PDO $pdo

Return Value

void

in Connection at line 1425
protected void markSessionStateUnknown(PDO $pdo)

Mark a physical database session's state as unknown.

Parameters

PDO $pdo

Return Value

void

in Connection at line 1441
bool hasUnknownSessionState()

internal  
 

Determine whether an open PDO has unknown session state.

Return Value

bool

in Connection at line 1463
Connection setPdo(PDO|Closure|null $pdo)

Set the PDO connection.

Parameters

PDO|Closure|null $pdo

Return Value

Connection

in Connection at line 1475
Connection setReadPdo(PDO|Closure|null $pdo)

Set the PDO connection used for reading.

Parameters

PDO|Closure|null $pdo

Return Value

Connection

in Connection at line 1485
Connection setReadPdoConfig(array $config)

Set the read PDO connection configuration.

Parameters

array $config

Return Value

Connection

in Connection at line 1495
Connection setReconnector(callable $reconnector)

Set the reconnect instance on the connection.

Parameters

callable $reconnector

Return Value

Connection

in Connection at line 1505
string|null getName()

Get the database connection name.

Return Value

string|null

in Connection at line 1513
mixed getConfig(string|null $option = null)

Get an option from the configuration options.

Parameters

string|null $option

Return Value

mixed

in Connection at line 1521
protected array getConnectionDetails()

Get the basic connection information as an array for debugging.

Return Value

array

in Connection at line 1540
string getDriverName()

Get the PDO driver name.

Return Value

string

at line 21
string getDriverTitle()

Get a human-readable name for the given connection driver.

Return Value

string

in Connection at line 1556
Grammar getQueryGrammar()

Get the query grammar used by the connection.

Return Value

Grammar

in Connection at line 1564
Connection setQueryGrammar(Grammar $grammar)

Set the query grammar used by the connection.

Parameters

Grammar $grammar

Return Value

Connection

in Connection at line 1574
Grammar|null getSchemaGrammar()

Get the schema grammar used by the connection.

Return Value

Grammar|null

in Connection at line 1582
Connection setSchemaGrammar(Grammar $grammar)

Set the schema grammar used by the connection.

Parameters

Grammar $grammar

Return Value

Connection

in Connection at line 1592
Processor getPostProcessor()

Get the query post processor used by the connection.

Return Value

Processor

in Connection at line 1600
Connection setPostProcessor(Processor $processor)

Set the query post processor used by the connection.

Parameters

Processor $processor

Return Value

Connection

in Connection at line 1610
Dispatcher|null getEventDispatcher()

Get the event dispatcher used by the connection.

Return Value

Dispatcher|null

in Connection at line 1618
Connection setEventDispatcher(Dispatcher $events)

Set the event dispatcher instance on the connection.

Parameters

Dispatcher $events

Return Value

Connection

in Connection at line 1628
void unsetEventDispatcher()

Unset the event dispatcher for this connection.

Return Value

void

at line 29
protected void executeBeginTransactionStatement()

Run the statement to start a new transaction.

Return Value

void

in Connection at line 1644
Connection setTransactionManager(DatabaseTransactionsManager $manager)

Set the transaction manager instance on the connection.

Parameters

DatabaseTransactionsManager $manager

Return Value

Connection

in Connection at line 1654
DatabaseTransactionsManager|null getTransactionManager()

Get the transaction manager instance.

Return Value

DatabaseTransactionsManager|null

in Connection at line 1662
void unsetTransactionManager()

Unset the transaction manager for this connection.

Return Value

void

in Connection at line 1670
bool pretending()

Determine if the connection is in a "dry run".

Return Value

bool

in Connection at line 1680
array getQueryLog()

Get the connection query log.

Return Value

array

in Connection at line 1688
array getRawQueryLog()

Get the connection query log with embedded bindings.

Return Value

array

in Connection at line 1702
void flushQueryLog()

Clear the query log.

Return Value

void

in Connection at line 1710
void enableQueryLog()

Enable the query log on the connection.

Return Value

void

in Connection at line 1718
void disableQueryLog()

Disable the query log on the connection.

Return Value

void

in Connection at line 1726
bool logging()

Determine whether we're logging queries.

Return Value

bool

in Connection at line 1734
string getDatabaseName()

Get the name of the connected database.

Return Value

string

in Connection at line 1742
Connection setDatabaseName(string $database)

Set the name of the connected database.

Parameters

string $database

Return Value

Connection

in Connection at line 1754
protected string|null latestReadWriteTypeUsed()

Retrieve the latest read / write type used.

Return Value

string|null

in Connection at line 1762
string getTablePrefix()

Get the table prefix for the connection.

Return Value

string

in Connection at line 1770
Connection setTablePrefix(string $prefix)

Set the table prefix in use by the connection.

Parameters

string $prefix

Return Value

Connection

in Connection at line 1785
mixed withoutTablePrefix(Closure $callback)

Execute the given callback without table prefix.

Parameters

Closure $callback

Return Value

mixed

in Connection at line 1801
string getServerVersion()

Get the server version for the connection.

Return Value

string

in Connection at line 1813
static void configureSessionUsing(SessionConfigurator $configurator)

Register a database session configurator.

Boot-only. The configurator persists in a static property for the worker lifetime and runs on every subsequent synchronized PDO hand-out across all coroutines.

Parameters

SessionConfigurator $configurator

Return Value

void

in Connection at line 1825
static void resolverFor(string $driver, Closure $callback)

Register a connection resolver.

Boot-only. The resolver persists in a static property for the worker lifetime and runs on every subsequent Connection construction for the given driver across all coroutines.

Parameters

string $driver
Closure $callback

Return Value

void

in Connection at line 1833
static Closure|null getResolver(string $driver)

Get the connection resolver for the given driver.

Parameters

string $driver

Return Value

Closure|null

in Connection at line 1841
static void flushState()

Flush all static state.

Return Value

void

in Connection at line 1852
void __clone()

Prepare the instance for cloning.

Return Value

void