0 follower

Interface Yiisoft\Db\Connection\ConnectionInterface

Implemented byYiisoft\Db\Connection\AbstractConnection, Yiisoft\Db\Debug\ConnectionInterfaceProxy, Yiisoft\Db\Driver\Pdo\AbstractPdoConnection, Yiisoft\Db\Driver\Pdo\PdoConnectionInterface

This interface provides methods for establishing a connection to a database, executing SQL statements, and performing other tasks related to interacting with a database.

It allows you to access and manipulate databases in a database-agnostic way, so you can write code that works with different database systems without having to worry about the specific details of each one.

Psalm Types

Name Value
ParamsType array<non-empty-string, mixed>|list

Public Methods

Hide inherited methods

Method Description Defined By
beginTransaction() Starts a transaction and returns it, creating a new transaction object only if none is currently active. Yiisoft\Db\Connection\ConnectionInterface
close() Closes the currently active DB connection. Yiisoft\Db\Connection\ConnectionInterface
createBatchQueryResult() Creates Yiisoft\Db\Query\BatchQueryResultInterface instance. Yiisoft\Db\Connection\ConnectionInterface
createCommand() Creates a command for execution. Yiisoft\Db\Connection\ConnectionInterface
createQuery() Creates Yiisoft\Db\Query\QueryInterface instance. Yiisoft\Db\Connection\ConnectionInterface
createTransaction() Creates Yiisoft\Db\Transaction\TransactionInterface instance. Yiisoft\Db\Connection\ConnectionInterface
getColumnBuilderClass() Returns the column builder class name for the current DB connection. Yiisoft\Db\Connection\ConnectionInterface
getColumnFactory() Returns the column factory for creating column instances. Yiisoft\Db\Connection\ConnectionInterface
getDriverName() Returns the name of the DB driver for the current dsn. Yiisoft\Db\Connection\ConnectionInterface
getLastInsertId() Returns the ID of the last inserted row or a sequence value. Yiisoft\Db\Connection\ConnectionInterface
getQueryBuilder() Returns the query builder for the current DB connection. Yiisoft\Db\Connection\ConnectionInterface
getQuoter() Returns quoter helper for current DB connection. Yiisoft\Db\Connection\ConnectionInterface
getSchema() Returns the schema information for the database opened by this connection. Yiisoft\Db\Connection\ConnectionInterface
getServerInfo() Returns Yiisoft\Db\Connection\ServerInfoInterface instance that provides information about the database server. Yiisoft\Db\Connection\ConnectionInterface
getTablePrefix() Returns table prefix for current DB connection. Yiisoft\Db\Connection\ConnectionInterface
getTableSchema() Obtains the schema information for the named table. Yiisoft\Db\Connection\ConnectionInterface
getTransaction() Returns the currently active transaction. Yiisoft\Db\Connection\ConnectionInterface
isActive() Whether the DB connection is active. Yiisoft\Db\Connection\ConnectionInterface
isSavepointEnabled() Whether this DBMS supports savepoint. Yiisoft\Db\Connection\ConnectionInterface
open() Establishes a DB connection. Yiisoft\Db\Connection\ConnectionInterface
quoteValue() Quotes a value for use in a query. Yiisoft\Db\Connection\ConnectionInterface
select() Creates a new Query instance with the specified columns to be selected. Yiisoft\Db\Connection\ConnectionInterface
setEnableSavepoint() Whether to enable savepoint. Yiisoft\Db\Connection\ConnectionInterface
setTablePrefix() Sets the common prefix or suffix for table names. Yiisoft\Db\Connection\ConnectionInterface
transaction() Executes callback provided in a transaction. Yiisoft\Db\Connection\ConnectionInterface

Method Details

Hide inherited methods

beginTransaction() public abstract method

Starts a transaction and returns it, creating a new transaction object only if none is currently active.

public abstract beginTransaction( string|null $isolationLevel null ): Yiisoft\Db\Transaction\TransactionInterface
$isolationLevel string|null

The isolation level to use for this transaction.

Yiisoft\Db\Transaction\TransactionInterface::begin() for details.

return Yiisoft\Db\Transaction\TransactionInterface

The transaction.

throws Yiisoft\Db\Exception\Exception
throws Yiisoft\Db\Exception\InvalidConfigException
throws Yiisoft\Db\Exception\NotSupportedException
throws Throwable

                public function beginTransaction(?string $isolationLevel = null): TransactionInterface;

            
close() public abstract method

Closes the currently active DB connection.

It does nothing if the connection is already closed.

public abstract close( ): void

                public function close(): void;

            
createBatchQueryResult() public abstract method
public abstract createBatchQueryResult( Yiisoft\Db\Query\QueryInterface $query ): Yiisoft\Db\Query\BatchQueryResultInterface
$query Yiisoft\Db\Query\QueryInterface

The query to execute.

return Yiisoft\Db\Query\BatchQueryResultInterface

The batch query result.

                public function createBatchQueryResult(QueryInterface $query): BatchQueryResultInterface;

            
createCommand() public abstract method

Creates a command for execution.

public abstract createCommand( string|null $sql null, array $params = [] ): Yiisoft\Db\Command\CommandInterface
$sql string|null

The SQL statement to execute.

$params array

The parameters to bind to the SQL statement.

return Yiisoft\Db\Command\CommandInterface

The database command.

throws Yiisoft\Db\Exception\Exception
throws Yiisoft\Db\Exception\InvalidConfigException

                public function createCommand(?string $sql = null, array $params = []): CommandInterface;

            
createQuery() public abstract method
public abstract createQuery( ): Yiisoft\Db\Query\QueryInterface
return Yiisoft\Db\Query\QueryInterface

The query.

                public function createQuery(): QueryInterface;

            
createTransaction() public abstract method
public abstract createTransaction( ): Yiisoft\Db\Transaction\TransactionInterface
return Yiisoft\Db\Transaction\TransactionInterface

The transaction.

                public function createTransaction(): TransactionInterface;

            
getColumnBuilderClass() public abstract method

Returns the column builder class name for the current DB connection.

public abstract getColumnBuilderClass( ): string

                public function getColumnBuilderClass(): string;

            
getColumnFactory() public abstract method

Returns the column factory for creating column instances.

public abstract getColumnFactory( ): Yiisoft\Db\Schema\Column\ColumnFactoryInterface

                public function getColumnFactory(): ColumnFactoryInterface;

            
getDriverName() public abstract method

Returns the name of the DB driver for the current dsn.

Use this method for information only.

public abstract getDriverName( ): string
return string

The name of the DB driver for the current dsn.

                public function getDriverName(): string;

            
getLastInsertId() public abstract method

Returns the ID of the last inserted row or a sequence value.

public abstract getLastInsertId( string|null $sequenceName null ): string
$sequenceName string|null

The name of the sequence object (required by some DBMS).

return string

The row ID of the last row inserted, or the last value retrieved from the sequence object.

throws Yiisoft\Db\Exception\Exception
throws Yiisoft\Db\Exception\InvalidCallException

                public function getLastInsertId(?string $sequenceName = null): string;

            
getQueryBuilder() public abstract method

Returns the query builder for the current DB connection.

public abstract getQueryBuilder( ): Yiisoft\Db\QueryBuilder\QueryBuilderInterface
return Yiisoft\Db\QueryBuilder\QueryBuilderInterface

The query builder for the current DB connection.

                public function getQueryBuilder(): QueryBuilderInterface;

            
getQuoter() public abstract method

Returns quoter helper for current DB connection.

public abstract getQuoter( ): Yiisoft\Db\Schema\QuoterInterface
return Yiisoft\Db\Schema\QuoterInterface

The quoter helper for the current DB connection.

                public function getQuoter(): QuoterInterface;

            
getSchema() public abstract method

Returns the schema information for the database opened by this connection.

public abstract getSchema( ): Yiisoft\Db\Schema\SchemaInterface
return Yiisoft\Db\Schema\SchemaInterface

The schema information for the database opened by this connection.

                public function getSchema(): SchemaInterface;

            
getServerInfo() public abstract method

Returns Yiisoft\Db\Connection\ServerInfoInterface instance that provides information about the database server.

public abstract getServerInfo( ): Yiisoft\Db\Connection\ServerInfoInterface

                public function getServerInfo(): ServerInfoInterface;

            
getTablePrefix() public abstract method

Returns table prefix for current DB connection.

public abstract getTablePrefix( ): string
return string

The table prefix for the current DB connection.

                public function getTablePrefix(): string;

            
getTableSchema() public abstract method

Obtains the schema information for the named table.

public abstract getTableSchema( string $name, boolean $refresh false ): Yiisoft\Db\Schema\TableSchemaInterface|null
$name string

The table name.

$refresh boolean

Whether to reload the table schema even if it's found in the cache.

return Yiisoft\Db\Schema\TableSchemaInterface|null

The schema information for the named table. Null if the named table doesn't exist.

                public function getTableSchema(string $name, bool $refresh = false): ?TableSchemaInterface;

            
getTransaction() public abstract method

Returns the currently active transaction.

public abstract getTransaction( ): Yiisoft\Db\Transaction\TransactionInterface|null
return Yiisoft\Db\Transaction\TransactionInterface|null

The currently active transaction. Null if there is no active transaction.

                public function getTransaction(): ?TransactionInterface;

            
isActive() public abstract method

Whether the DB connection is active.

public abstract isActive( ): boolean
return boolean

Whether the DB connection is active.

                public function isActive(): bool;

            
isSavepointEnabled() public abstract method

Whether this DBMS supports savepoint.

public abstract isSavepointEnabled( ): boolean
return boolean

Whether this DBMS supports savepoint.

                public function isSavepointEnabled(): bool;

            
open() public abstract method

Establishes a DB connection.

It does nothing if a DB connection is active.

public abstract open( ): void
throws Yiisoft\Db\Exception\Exception

If connection fails.

throws Yiisoft\Db\Exception\InvalidConfigException

If a connection can't be established because of incomplete configuration.

                public function open(): void;

            
quoteValue() public abstract method

Quotes a value for use in a query.

public abstract quoteValue( mixed $value ): mixed
$value mixed
return mixed

The quoted string.

throws Yiisoft\Db\Exception\Exception
throws Yiisoft\Db\Exception\InvalidConfigException

                public function quoteValue(mixed $value): mixed;

            
select() public abstract method

Creates a new Query instance with the specified columns to be selected.

public abstract select( array|Yiisoft\Db\Expression\ExpressionInterface|scalar $columns = [], string|null $option null ): Yiisoft\Db\Query\QueryInterface
$columns array|Yiisoft\Db\Expression\ExpressionInterface|scalar

The columns to be selected. Columns can be specified in either a string (for example id, name) or an array (such as ['id', 'name']). Columns can be prefixed with table names (such as user.id) and/or contain column aliases (for example user.id AS user_id). The method will automatically quote the column names unless a column has some parenthesis (which means the column has a DB expression). A DB expression may also be passed in form of an Yiisoft\Db\Expression\ExpressionInterface object. Note that if you are selecting an expression like CONCAT(first_name, ' ', last_name), you should use an array to specify the columns. Otherwise, the expression may be incorrectly split into several parts. When the columns are specified as an array, you may also use array keys as the column aliases (if a column doesn't need alias, don't use a string key).

$option string|null

More option that should be appended to the 'SELECT' keyword. For example, in MySQL, the option 'SQL_CALC_FOUND_ROWS' can be used.

                public function select(
    array|bool|float|int|string|ExpressionInterface $columns = [],
    ?string $option = null,
): QueryInterface;

            
setEnableSavepoint() public abstract method

Whether to enable savepoint.

Note that if the underlying DBMS doesn't support savepoint, setting this property to be true will have no effect.

public abstract setEnableSavepoint( boolean $value ): void
$value boolean

Whether to enable savepoint.

                public function setEnableSavepoint(bool $value): void;

            
setTablePrefix() public abstract method

Sets the common prefix or suffix for table names.

If a table name is {{%TableName}}, then the percentage character % will be replaced with this property value. For example, {{%post}} becomes {{tbl_post}}.

public abstract setTablePrefix( string $value ): void
$value string

The common prefix or suffix for table names.

                public function setTablePrefix(string $value): void;

            
transaction() public abstract method

Executes callback provided in a transaction.

public abstract transaction( Closure $closure, string|null $isolationLevel null ): mixed
$closure Closure

A valid PHP callback that performs the job. Accepts connection instance as parameter.

$isolationLevel string|null

The isolation level to use for this transaction. Yiisoft\Db\Transaction\TransactionInterface::begin() for details.

return mixed

Result of callback function.

throws Throwable

If there is any exception during query. In this case, the transaction will be rolled back.

                public function transaction(Closure $closure, ?string $isolationLevel = null): mixed;