CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (Github)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 3.10 Red Velvet API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 3.10
      • 5.2
      • 5.1
      • 5.0
      • 4.6
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Global
  • Cake
    • Auth
    • Cache
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
      • Dialect
      • Driver
      • Exception
      • Expression
      • Log
      • Retry
      • Schema
      • Statement
      • Type
    • Datasource
    • Error
    • Event
    • Filesystem
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • Shell
    • TestSuite
    • Utility
    • Validation
    • View

Class Connection

Represents a connection with a database server.

Namespace: Cake\Database

Property Summary

  • $_config protected
    array

    Contains the configuration params for this connection.

  • $_driver protected
    Cake\Database\Driver

    Driver object, responsible for creating the real connection and provide specific SQL dialect.

  • $_logQueries protected
    bool

    Whether to log queries generated during this connection.

  • $_logger protected
    Cake\Database\Log\QueryLogger|null

    Logger object instance.

  • $_schemaCollection protected
    Cake\Database\Schema\Collection|null

    The schema collection object

  • $_transactionLevel protected
    int

    Contains how many nested transactions have been started.

  • $_transactionStarted protected
    bool

    Whether a transaction is active in this connection.

  • $_useSavePoints protected
    bool

    Whether this connection can and should use savepoints for nested transactions.

  • $nestedTransactionRollbackException protected
    Cake\Database\Exception\NestedTransactionRollbackException|null

    NestedTransactionRollbackException object instance, will be stored if the rollback method is called in some nested transaction.

Method Summary

  • __construct() public

    Constructor.

  • __debugInfo() public

    Returns an array that can be used to describe the internal state of this object.

  • __destruct() public

    Destructor

  • _newLogger() protected

    Returns a new statement object that will log the activity for the passed original statement instance.

  • begin() public

    Starts a new transaction.

  • cacheMetadata() public

    Enables or disables metadata caching for this connection

  • cast() public

    Converts a give value to a suitable database value based on type and return relevant internal statement type

  • commit() public

    Commits current transaction.

  • compileQuery() public

    Compiles a Query object into a SQL string according to the dialect for this connection's driver

  • config() public

    Get the configuration data used to create the connection.

  • configName() public

    Get the configuration name for this connection.

  • connect() public

    Connects to the configured database.

  • createSavePoint() public

    Creates a new save point for nested transactions.

  • delete() public

    Executes a DELETE statement on the specified table.

  • disableConstraints() public

    Run an operation with constraints disabled.

  • disableForeignKeys() public

    Run driver specific SQL to disable foreign key checks.

  • disableQueryLogging() public

    Disable query logging

  • disableSavePoints() public

    Disables the usage of savepoints.

  • disconnect() public

    Disconnects from database server.

  • driver() public deprecated

    Sets the driver instance. If a string is passed it will be treated as a class name and will be instantiated.

  • enableForeignKeys() public

    Run driver specific SQL to enable foreign key checks.

  • enableQueryLogging() public

    Enable/disable query logging

  • enableSavePoints() public

    Enables/disables the usage of savepoints, enables only if driver the allows it.

  • execute() public

    Executes a query using $params for interpolating values and $types as a hint for each those params.

  • getDisconnectRetry() public

    Get the retry wrapper object that is allows recovery from server disconnects while performing certain database actions, such as executing a query.

  • getDriver() public

    Gets the driver instance.

  • getLogger() public

    Gets the logger object

  • getSchemaCollection() public

    Gets a Schema\Collection object for this connection.

  • inTransaction() public

    Checks if a transaction is running.

  • insert() public

    Executes an INSERT query on the specified table.

  • isConnected() public

    Returns whether connection to database server was already established.

  • isQueryLoggingEnabled() public

    Check if query logging is enabled.

  • isSavePointsEnabled() public

    Returns whether this connection is using savepoints for nested transactions

  • log() public

    Logs a Query string using the configured logger object.

  • logQueries() public deprecated

    Enables or disables query logging for this connection.

  • logger() public deprecated

    Sets the logger object instance. When called with no arguments it returns the currently setup logger instance.

  • matchTypes() public

    Matches columns to corresponding types

  • newQuery() public

    Create a new Query instance for this connection.

  • prepare() public

    Prepares a SQL statement to be executed.

  • query() public

    Executes a SQL statement and returns the Statement object as result.

  • quote() public

    Quotes value to be used safely in database query.

  • quoteIdentifier() public

    Quotes a database identifier (a column name, table name, etc..) to be used safely in queries without the risk of using reserved words.

  • releaseSavePoint() public

    Releases a save point by its name.

  • rollback() public

    Rollback current transaction.

  • rollbackSavepoint() public

    Rollback a save point by its name.

  • run() public

    Executes the provided query after compiling it for the specific driver dialect and returns the executed Statement object.

  • schemaCollection() public deprecated

    Gets or sets a Schema\Collection object for this connection.

  • setDriver() public

    Sets the driver instance. If a string is passed it will be treated as a class name and will be instantiated.

  • setLogger() public

    Sets a logger

  • setSchemaCollection() public

    Sets a Schema\Collection object for this connection.

  • supportsDynamicConstraints() public

    Returns whether the driver supports adding or dropping constraints to already created tables.

  • supportsQuoting() public

    Checks if the driver supports quoting.

  • transactional() public

    Executes a callable function inside a transaction, if any exception occurs while executing the passed callable, the transaction will be rolled back If the result of the callable function is false, the transaction will also be rolled back. Otherwise the transaction is committed after executing the callback.

  • update() public

    Executes an UPDATE statement on the specified table.

  • useSavePoints() public deprecated

    Returns whether this connection is using savepoints for nested transactions If a boolean is passed as argument it will enable/disable the usage of savepoints only if driver the allows it.

  • wasNestedTransactionRolledback() protected

    Returns whether some nested transaction has been already rolled back.

Method Detail

__construct() ¶ public

__construct(array $config)

Constructor.

Available options:

  • driver Sort name or FCQN for driver.
  • log Boolean indicating whether to use query logging.
  • name Connection name.
  • cacheMetaData Boolean indicating whether metadata (datasource schemas) should be cached. If set to a string it will be used as the name of cache config to use.
  • cacheKeyPrefix Custom prefix to use when generation cache keys. Defaults to connection name.
Parameters
array $config

Configuration array.

__debugInfo() ¶ public

__debugInfo(): array

Returns an array that can be used to describe the internal state of this object.

Returns
array

__destruct() ¶ public

__destruct()

Destructor

Disconnects the driver to release the connection.

_newLogger() ¶ protected

_newLogger(Cake\Database\StatementInterface $statement): Cake\Database\Log\LoggingStatement

Returns a new statement object that will log the activity for the passed original statement instance.

Parameters
Cake\Database\StatementInterface $statement

the instance to be decorated

Returns
Cake\Database\Log\LoggingStatement

begin() ¶ public

begin(): void

Starts a new transaction.

Returns
void

cacheMetadata() ¶ public

cacheMetadata(bool|string $cache): void

Enables or disables metadata caching for this connection

Changing this setting will not modify existing schema collections objects.

Parameters
bool|string $cache

Either boolean false to disable metadata caching, or true to use _cake_model_ or the name of the cache config to use.

Returns
void

cast() ¶ public

cast(mixed $value, Cake\Database\Type|string $type): array

Converts a give value to a suitable database value based on type and return relevant internal statement type

Parameters
mixed $value

The value to cast

Cake\Database\Type|string $type

The type name or type instance to use.

Returns
array

commit() ¶ public

commit(): bool

Commits current transaction.

Returns
bool

compileQuery() ¶ public

compileQuery(Cake\Database\Query $query, Cake\Database\ValueBinder $generator): string

Compiles a Query object into a SQL string according to the dialect for this connection's driver

Parameters
Cake\Database\Query $query

The query to be compiled

Cake\Database\ValueBinder $generator

The placeholder generator to use

Returns
string

config() ¶ public

config(): array

Get the configuration data used to create the connection.

Returns
array

configName() ¶ public

configName(): string

Get the configuration name for this connection.

Returns
string

connect() ¶ public

connect(): bool

Connects to the configured database.

Returns
bool
Throws
Cake\Database\Exception\MissingConnectionException
if credentials are invalid.

createSavePoint() ¶ public

createSavePoint(string|int $name): void

Creates a new save point for nested transactions.

Parameters
string|int $name

The save point name.

Returns
void

delete() ¶ public

delete(string $table, array $conditions = [], array $types = []): Cake\Database\StatementInterface

Executes a DELETE statement on the specified table.

Parameters
string $table

the table to delete rows from

array $conditions optional

conditions to be set for delete statement

array $types optional

list of associative array containing the types to be used for casting

Returns
Cake\Database\StatementInterface

disableConstraints() ¶ public

disableConstraints(callable $operation): mixed

Run an operation with constraints disabled.

Example:

$connection->disableConstraints(function ($connection) {
  $connection->newQuery()->delete('users')->execute();
});
Parameters
callable $operation
Returns
mixed

disableForeignKeys() ¶ public

disableForeignKeys(): void

Run driver specific SQL to disable foreign key checks.

Returns
void

disableQueryLogging() ¶ public

disableQueryLogging(): $this

Disable query logging

Returns
$this

disableSavePoints() ¶ public

disableSavePoints(): $this

Disables the usage of savepoints.

Returns
$this

disconnect() ¶ public

disconnect(): void

Disconnects from database server.

Returns
void

driver() ¶ public

driver(Cake\Database\Driver|string|null $driver = null, array $config = []): Cake\Database\Driver

Sets the driver instance. If a string is passed it will be treated as a class name and will be instantiated.

If no params are passed it will return the current driver instance.

Parameters
Cake\Database\Driver|string|null $driver optional

The driver instance to use.

array $config optional

Either config for a new driver or null.

Returns
Cake\Database\Driver
Throws
Cake\Database\Exception\MissingDriverException
When a driver class is missing.
Cake\Database\Exception\MissingExtensionException
When a driver's PHP extension is missing.

enableForeignKeys() ¶ public

enableForeignKeys(): void

Run driver specific SQL to enable foreign key checks.

Returns
void

enableQueryLogging() ¶ public

enableQueryLogging(mixed $value): $this

Enable/disable query logging

Parameters
$value

Enable/disable query logging

Returns
$this

enableSavePoints() ¶ public

enableSavePoints(bool $enable): $this

Enables/disables the usage of savepoints, enables only if driver the allows it.

If you are trying to enable this feature, make sure you check isSavePointsEnabled() to verify that savepoints were enabled successfully.

Parameters
bool $enable

Whether or not save points should be used.

Returns
$this

execute() ¶ public

execute(mixed $query, array $params = [], array $types = []): Cake\Database\StatementInterface

Executes a query using $params for interpolating values and $types as a hint for each those params.

Parameters
$query

SQL to be executed and interpolated with $params

array $params optional

list or associative array of params to be interpolated in $query as values

array $types optional

list or associative array of types to be used for casting values in query

Returns
Cake\Database\StatementInterface

getDisconnectRetry() ¶ public

getDisconnectRetry(): Cake\Core\Retry\CommandRetry

Get the retry wrapper object that is allows recovery from server disconnects while performing certain database actions, such as executing a query.

Returns
Cake\Core\Retry\CommandRetry

getDriver() ¶ public

getDriver(): Cake\Database\Driver

Gets the driver instance.

Returns
Cake\Database\Driver

getLogger() ¶ public

getLogger(): Cake\Database\Log\QueryLogger

Gets the logger object

Returns
Cake\Database\Log\QueryLogger

getSchemaCollection() ¶ public

getSchemaCollection(): Cake\Database\Schema\Collection

Gets a Schema\Collection object for this connection.

Returns
Cake\Database\Schema\Collection

inTransaction() ¶ public

inTransaction(): bool

Checks if a transaction is running.

Returns
bool

insert() ¶ public

insert(string $table, array $data, array $types = []): Cake\Database\StatementInterface

Executes an INSERT query on the specified table.

Parameters
string $table

the table to insert values in

array $data

values to be inserted

array $types optional

list of associative array containing the types to be used for casting

Returns
Cake\Database\StatementInterface

isConnected() ¶ public

isConnected(): bool

Returns whether connection to database server was already established.

Returns
bool

isQueryLoggingEnabled() ¶ public

isQueryLoggingEnabled(): bool

Check if query logging is enabled.

Returns
bool

isSavePointsEnabled() ¶ public

isSavePointsEnabled(): bool

Returns whether this connection is using savepoints for nested transactions

Returns
bool

log() ¶ public

log(string $sql): void

Logs a Query string using the configured logger object.

Parameters
string $sql

string to be logged

Returns
void

logQueries() ¶ public

logQueries(bool|null $enable = null): bool

Enables or disables query logging for this connection.

Parameters
bool|null $enable optional
Returns
bool

logger() ¶ public

logger(object|null $instance = null): object

Sets the logger object instance. When called with no arguments it returns the currently setup logger instance.

Parameters
object|null $instance optional
Returns
object

matchTypes() ¶ public

matchTypes(array $columns, array $types): array

Matches columns to corresponding types

Both $columns and $types should either be numeric based or string key based at the same time.

Parameters
array $columns

list or associative array of columns and parameters to be bound with types

array $types

list or associative array of types

Returns
array

newQuery() ¶ public

newQuery(): Cake\Database\Query

Create a new Query instance for this connection.

Returns
Cake\Database\Query

prepare() ¶ public

prepare(mixed $sql): Cake\Database\StatementInterface

Prepares a SQL statement to be executed.

Parameters
$sql

The SQL to convert into a prepared statement.

Returns
Cake\Database\StatementInterface

query() ¶ public

query(string $sql): Cake\Database\StatementInterface

Executes a SQL statement and returns the Statement object as result.

Parameters
string $sql

The SQL query to execute.

Returns
Cake\Database\StatementInterface

quote() ¶ public

quote(mixed $value, mixed $type = null): string

Quotes value to be used safely in database query.

Parameters
$value

The value to quote.

$type optional

Type to be used for determining kind of quoting to perform

Returns
string

quoteIdentifier() ¶ public

quoteIdentifier(string $identifier): string

Quotes a database identifier (a column name, table name, etc..) to be used safely in queries without the risk of using reserved words.

Parameters
string $identifier

The identifier to quote.

Returns
string

releaseSavePoint() ¶ public

releaseSavePoint(string|int $name): void

Releases a save point by its name.

Parameters
string|int $name

The save point name.

Returns
void

rollback() ¶ public

rollback(bool|null $toBeginning = null): bool

Rollback current transaction.

Parameters
bool|null $toBeginning optional

Whether or not the transaction should be rolled back to the beginning of it. Defaults to false if using savepoints, or true if not.

Returns
bool

rollbackSavepoint() ¶ public

rollbackSavepoint(string|int $name): void

Rollback a save point by its name.

Parameters
string|int $name

The save point name.

Returns
void

run() ¶ public

run(Cake\Database\Query $query): Cake\Database\StatementInterface

Executes the provided query after compiling it for the specific driver dialect and returns the executed Statement object.

Parameters
Cake\Database\Query $query

The query to be executed

Returns
Cake\Database\StatementInterface

schemaCollection() ¶ public

schemaCollection(Cake\Database\Schema\Collection|null $collection = null): Cake\Database\Schema\Collection

Gets or sets a Schema\Collection object for this connection.

Parameters
Cake\Database\Schema\Collection|null $collection optional

The schema collection object

Returns
Cake\Database\Schema\Collection

setDriver() ¶ public

setDriver(Cake\Database\Driver|string $driver, array $config = []): $this

Sets the driver instance. If a string is passed it will be treated as a class name and will be instantiated.

Parameters
Cake\Database\Driver|string $driver

The driver instance to use.

array $config optional

Config for a new driver.

Returns
$this
Throws
Cake\Database\Exception\MissingDriverException
When a driver class is missing.
Cake\Database\Exception\MissingExtensionException
When a driver's PHP extension is missing.

setLogger() ¶ public

setLogger(mixed $logger): $this

Sets a logger

Parameters
$logger

Logger object

Returns
$this

setSchemaCollection() ¶ public

setSchemaCollection(Cake\Database\Schema\Collection $collection): $this

Sets a Schema\Collection object for this connection.

Parameters
Cake\Database\Schema\Collection $collection

The schema collection object

Returns
$this

supportsDynamicConstraints() ¶ public

supportsDynamicConstraints(): bool

Returns whether the driver supports adding or dropping constraints to already created tables.

Returns
bool

supportsQuoting() ¶ public

supportsQuoting(): bool

Checks if the driver supports quoting.

Returns
bool

transactional() ¶ public

transactional(callable $transaction): mixed

Executes a callable function inside a transaction, if any exception occurs while executing the passed callable, the transaction will be rolled back If the result of the callable function is false, the transaction will also be rolled back. Otherwise the transaction is committed after executing the callback.

Example:

$connection->transactional(function ($connection) {
  $connection->newQuery()->delete('users')->execute();
});
Parameters
callable $transaction
Returns
mixed

update() ¶ public

update(string $table, array $data, array $conditions = [], array $types = []): Cake\Database\StatementInterface

Executes an UPDATE statement on the specified table.

Parameters
string $table

the table to update rows from

array $data

values to be updated

array $conditions optional

conditions to be set for update statement

array $types optional

list of associative array containing the types to be used for casting

Returns
Cake\Database\StatementInterface

useSavePoints() ¶ public

useSavePoints(bool|null $enable = null): bool

Returns whether this connection is using savepoints for nested transactions If a boolean is passed as argument it will enable/disable the usage of savepoints only if driver the allows it.

If you are trying to enable this feature, make sure you check the return value of this function to verify it was enabled successfully.

Example:

$connection->useSavePoints(true) Returns true if drivers supports save points, false otherwise $connection->useSavePoints(false) Disables usage of savepoints and returns false $connection->useSavePoints() Returns current status

Parameters
bool|null $enable optional

Whether or not save points should be used.

Returns
bool

wasNestedTransactionRolledback() ¶ protected

wasNestedTransactionRolledback(): bool

Returns whether some nested transaction has been already rolled back.

Returns
bool

Property Detail

$_config ¶ protected

Contains the configuration params for this connection.

Type
array

$_driver ¶ protected

Driver object, responsible for creating the real connection and provide specific SQL dialect.

Type
Cake\Database\Driver

$_logQueries ¶ protected

Whether to log queries generated during this connection.

Type
bool

$_logger ¶ protected

Logger object instance.

Type
Cake\Database\Log\QueryLogger|null

$_schemaCollection ¶ protected

The schema collection object

Type
Cake\Database\Schema\Collection|null

$_transactionLevel ¶ protected

Contains how many nested transactions have been started.

Type
int

$_transactionStarted ¶ protected

Whether a transaction is active in this connection.

Type
bool

$_useSavePoints ¶ protected

Whether this connection can and should use savepoints for nested transactions.

Type
bool

$nestedTransactionRollbackException ¶ protected

NestedTransactionRollbackException object instance, will be stored if the rollback method is called in some nested transaction.

Type
Cake\Database\Exception\NestedTransactionRollbackException|null
OpenHub
Pingping
Linode
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (Github)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs