CakePHP
  • 文档
    • 书籍
    • API
    • 视频
    • 报告安全问题
    • 隐私政策
    • 标识和商标
  • 商业解决方案
  • 商品
  • 公路旅行
  • 团队
  • 社区
    • 社区
    • 参与
    • 问题 (Github)
    • 面包店
    • 精选资源
    • 培训
    • 聚会
    • 我的CakePHP
    • CakeFest
    • 时事通讯
    • 领英
    • YouTube
    • 脸书
    • 推特
    • Mastodon
    • 帮助与支持
    • 论坛
    • 堆栈溢出
    • IRC
    • Slack
    • 付费支持
CakePHP

C CakePHP 5.1 Chiffon API

  • 项目
    • CakePHP
      • CakePHP
      • Chronos
      • Elastic Search
      • 队列
  • 版本
    • 5.1
      • 5.1
      • 5.0
      • 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

命名空间

  • 全局
  • Cake
    • 缓存
    • 集合
    • 命令
    • 控制台
    • 控制器
    • 核心
    • 数据库
      • 驱动程序
      • 异常
      • 表达式
      • 日志
      • 查询
      • 重试
      • 模式
      • 语句
      • 类型
    • 数据源
    • 错误
    • 事件
    • 表单
    • HTTP
    • 国际化
    • 日志
    • 邮件
    • 网络
    • ORM
    • 路由
    • 测试套件
    • 实用程序
    • 验证
    • 视图

类连接

代表与数据库服务器的连接。

命名空间: Cake\Database

常量

  • string
    ROLE_READ ¶
    'read'
  • string
    ROLE_WRITE ¶
    'write'

属性摘要

  • $_config protected
    array<string, mixed>

    包含此连接的配置参数。

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

    模式集合对象

  • $_transactionLevel protected
    int

    包含已启动的嵌套事务数量。

  • $_transactionStarted protected
    bool

    此连接中是否正在进行事务。

  • $_useSavePoints protected
    bool

    此连接是否可以以及应该使用保存点进行嵌套事务。

  • $cacher protected
    Psr\SimpleCache\CacheInterface|null

    缓存器对象实例。

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

    NestedTransactionRollbackException 对象实例,如果在某个嵌套事务中调用回滚方法,将存储该实例。

  • $queryFactory protected
    QueryFactory
  • $readDriver protected
    Cake\Database\Driver
  • $writeDriver protected
    Cake\Database\Driver

方法摘要

  • __construct() public

    构造函数。

  • __debugInfo() public

    返回一个数组,该数组可用于描述此对象的内部状态。

  • __destruct() public

    析构函数

  • begin() public

    启动一个新的事务。

  • cacheMetadata() public

    启用或禁用此连接的元数据缓存

  • commit() public

    提交当前事务。

  • config() public

    获取用于创建连接的配置数据。

  • configName() public

    获取此连接的配置名称。

  • createDrivers() protected

    创建读写驱动程序。

  • createSavePoint() public

    为嵌套事务创建一个新的保存点。

  • delete() public

    在指定表上执行 DELETE 语句。

  • deleteQuery() public

    为此连接创建一个新的 DeleteQuery 实例。

  • disableConstraints() public

    运行一个禁用约束的操作。

  • disableForeignKeys() public

    运行特定于驱动程序的 SQL 来禁用外键检查。

  • disableSavePoints() public

    禁用保存点的使用。

  • enableForeignKeys() public

    运行特定于驱动程序的 SQL 来启用外键检查。

  • enableSavePoints() public

    启用/禁用保存点的使用,仅在驱动程序允许的情况下启用。

  • execute() public

    使用 $params 执行查询以插入值,并使用 $types 作为这些参数的提示。

  • getCacher() public

    获取缓存器。

  • getDisconnectRetry() public

    获取允许在执行某些数据库操作(例如执行查询)时从服务器断开连接中恢复的重试包装器对象。

  • getDriver() public

    获取驱动程序实例。

  • getSchemaCollection() public

    为此连接获取一个 Schema\Collection 对象。

  • inTransaction() public

    检查是否正在运行事务。

  • insert() public

    在指定表上执行 INSERT 查询。

  • insertQuery() public

    为此连接创建一个新的 InsertQuery 实例。

  • isSavePointsEnabled() public

    返回此连接是否正在使用保存点进行嵌套事务

  • queryFactory() public

    获取查询工厂实例。

  • releaseSavePoint() public

    通过名称释放保存点。

  • role() public

    返回连接角色:读或写。

  • rollback() public

    回滚当前事务。

  • rollbackSavepoint() public

    通过名称回滚保存点。

  • run() public

    在为特定驱动程序方言编译后执行提供的查询,并返回执行的 Statement 对象。

  • selectQuery() public

    为此连接创建一个新的 SelectQuery 实例。

  • setCacher() public

    设置缓存器。

  • setSchemaCollection() public

    为此连接设置 Schema\Collection 对象。

  • transactional() public

    在事务中执行回调,如果在执行传递的回调时出现任何异常,则事务将回滚。如果回调的结果为 false,则事务也将回滚。否则,在执行回调后提交事务。

  • update() public

    在指定表上执行 UPDATE 语句。

  • updateQuery() public

    为此连接创建一个新的 UpdateQuery 实例。

  • wasNestedTransactionRolledback() protected

    返回某个嵌套事务是否已回滚。

方法详细信息

__construct() ¶ public

__construct(array<string, mixed> $config)

构造函数。

可用选项

  • driver 驱动程序的排序名称或 FCQN。
  • log 布尔值,指示是否使用查询日志记录。
  • name 连接名称。
  • cacheMetaData 布尔值,指示是否应缓存元数据(数据源模式)。如果设置为字符串,则将用作要使用的缓存配置的名称。
  • cacheKeyPrefix 生成缓存键时使用的自定义前缀。默认为连接名称。
参数
array<string, mixed> $config

配置数组。

__debugInfo() ¶ public

__debugInfo(): array<string, mixed>

返回一个数组,该数组可用于描述此对象的内部状态。

返回值
array<string, mixed>

__destruct() ¶ public

__destruct()

析构函数

断开驱动程序连接以释放连接。

begin() ¶ public

begin(): void

启动一个新的事务。

返回值
void

cacheMetadata() ¶ public

cacheMetadata(string|bool $cache): void

启用或禁用此连接的元数据缓存

更改此设置不会修改现有的模式集合对象。

参数
string|bool $cache

布尔值 false 表示禁用元数据缓存,true 表示使用 _cake_model_ 或要使用的缓存配置的名称。

返回值
void

commit() ¶ public

commit(): bool

提交当前事务。

返回值
bool

config() ¶ public

config(): array<string, mixed>

获取用于创建连接的配置数据。

返回值
array<string, mixed>

configName() ¶ public

configName(): string

获取此连接的配置名称。

返回值
string

createDrivers() ¶ protected

createDrivers(array<string, mixed> $config): array<string,Cake\Database\Driver>

创建读写驱动程序。

参数
array<string, mixed> $config

连接配置

返回值
array<string,Cake\Database\Driver>

createSavePoint() ¶ public

createSavePoint(string|int $name): void

为嵌套事务创建一个新的保存点。

参数
string|int $name

保存点的名称或 ID

返回值
void

delete() ¶ public

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

在指定表上执行 DELETE 语句。

参数
string $table

要删除行的表

array $conditions 可选

要为删除语句设置的条件

array<string, string> $types 可选

包含要用于转换的类型的关联数组列表

返回值
Cake\Database\StatementInterface

deleteQuery() ¶ public

deleteQuery(string|null $table = null, array $conditions = [], array<string, string> $types = []): Cake\Database\Query\DeleteQuery

为此连接创建一个新的 DeleteQuery 实例。

参数
string|null $table 可选

要删除行的表。

array $conditions 可选

要为删除语句设置的条件。

array<string, string> $types 可选

包含要用于转换的类型的关联数组。

返回值
Cake\Database\Query\DeleteQuery

disableConstraints() ¶ public

disableConstraints(Closure $callback): mixed

运行一个禁用约束的操作。

约束应在回调成功/失败后重新启用。

示例

$connection->disableConstraints(function ($connection) {
  $connection->insertQuery('users')->execute();
});
参数
Closure $callback

要在禁用约束的情况下运行的回调

返回值
混合
抛出
异常
将在回滚事务后重新抛出 $callback 中引发的任何异常。

disableForeignKeys() ¶ public

disableForeignKeys(): void

运行特定于驱动程序的 SQL 来禁用外键检查。

返回值
void

disableSavePoints() ¶ public

disableSavePoints(): $this

禁用保存点的使用。

返回值
$this

enableForeignKeys() ¶ public

enableForeignKeys(): void

运行特定于驱动程序的 SQL 来启用外键检查。

返回值
void

enableSavePoints() ¶ public

enableSavePoints(bool $enable = true): $this

启用/禁用保存点的使用,仅在驱动程序允许的情况下启用。

如果您尝试启用此功能,请确保检查 isSavePointsEnabled() 以验证是否成功启用了保存点。

参数
bool $enable 可选

是否应该使用保存点。

返回值
$this

execute() ¶ public

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

使用 $params 执行查询以插入值,并使用 $types 作为这些参数的提示。

参数
string $sql

要执行的 SQL,并使用 $params 进行插值

array $params 可选

要作为值插值到 $sql 中的参数列表或关联数组

array $types 可选

要用于在查询中转换值的类型列表或关联数组

返回值
Cake\Database\StatementInterface

getCacher() ¶ public

getCacher(): Psr\SimpleCache\CacheInterface

获取缓存器。

返回值
Psr\SimpleCache\CacheInterface

getDisconnectRetry() ¶ public

getDisconnectRetry(): Cake\Core\Retry\CommandRetry

获取允许在执行某些数据库操作(例如执行查询)时从服务器断开连接中恢复的重试包装器对象。

返回值
Cake\Core\Retry\CommandRetry

getDriver() ¶ public

getDriver(string $role = self::ROLE_WRITE): Cake\Database\Driver

获取驱动程序实例。

参数
string $role 可选

连接角色(“read” 或“write”)

返回值
Cake\Database\Driver

getSchemaCollection() ¶ public

getSchemaCollection(): Cake\Database\Schema\CollectionInterface

为此连接获取一个 Schema\Collection 对象。

返回值
Cake\Database\Schema\CollectionInterface

inTransaction() ¶ public

inTransaction(): bool

检查是否正在运行事务。

返回值
bool

insert() ¶ public

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

在指定表上执行 INSERT 查询。

参数
string $table

要插入值的表

array $values

要插入的值

array<string, string> $types 可选

包含要用于转换的类型的数组

返回值
Cake\Database\StatementInterface

insertQuery() ¶ public

insertQuery(string|null $table = null, array $values = [], array<int|string, string> $types = []): Cake\Database\Query\InsertQuery

为此连接创建一个新的 InsertQuery 实例。

参数
string|null $table 可选

要插入行的表。

array $values 可选

要插入的列 => 值的关联数组。

array<int|string, string> $types 可选

包含要用于转换的类型的关联数组。

返回值
Cake\Database\Query\InsertQuery

isSavePointsEnabled() ¶ public

isSavePointsEnabled(): bool

返回此连接是否正在使用保存点进行嵌套事务

返回值
bool

queryFactory() ¶ public

queryFactory(): Cake\Database\Query\QueryFactory

获取查询工厂实例。

返回值
Cake\Database\Query\QueryFactory

releaseSavePoint() ¶ public

releaseSavePoint(string|int $name): void

通过名称释放保存点。

参数
string|int $name

保存点的名称或 ID

返回值
void

role() ¶ public

role(): string

返回连接角色:读或写。

返回值
string

rollback() ¶ public

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

回滚当前事务。

参数
bool|null $toBeginning 可选

事务是否应回滚到其开头。如果使用保存点,则默认为 false,否则为 true。

返回值
bool

rollbackSavepoint() ¶ public

rollbackSavepoint(string|int $name): void

通过名称回滚保存点。

参数
string|int $name

保存点的名称或 ID

返回值
void

run() ¶ public

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

在为特定驱动程序方言编译后执行提供的查询,并返回执行的 Statement 对象。

参数
Cake\Database\Query $query

要执行的查询

返回值
Cake\Database\StatementInterface

selectQuery() ¶ public

selectQuery(Cake\Database\ExpressionInterfaceClosure|array|string|float|int $fields = [], array|string $table = [], array<string, string> $types = []): Cake\Database\Query\SelectQuery<mixed>

为此连接创建一个新的 SelectQuery 实例。

参数
Cake\Database\ExpressionInterfaceClosure|array|string|float|int $fields 可选

查询的字段/列列表。

array|string $table 可选

要查询的表或表列表。

array<string, string> $types 可选

包含要用于转换的类型的关联数组。

返回值
Cake\Database\Query\SelectQuery<mixed>

setCacher() ¶ public

setCacher(Psr\SimpleCache\CacheInterface $cacher): $this

设置缓存器。

参数
Psr\SimpleCache\CacheInterface $cacher
返回值
$this

setSchemaCollection() ¶ public

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

为此连接设置 Schema\Collection 对象。

参数
Cake\Database\Schema\CollectionInterface $collection

模式集合对象

返回值
$this

transactional() ¶ public

transactional(Closure $callback): mixed

在事务中执行回调,如果在执行传递的回调时出现任何异常,则事务将回滚。如果回调的结果为 false,则事务也将回滚。否则,在执行回调后提交事务。

回调将接收连接实例作为其第一个参数。

示例

$connection->transactional(function ($connection) {
  $connection->deleteQuery('users')->execute();
});
参数
Closure $callback

要在事务中执行的回调。

返回值
混合
抛出
异常
将在回滚事务后重新抛出 $callback 中引发的任何异常。

update() ¶ public

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

在指定表上执行 UPDATE 语句。

参数
string $table

要更新行的表

array $values

要更新的值

array $conditions 可选

要为更新语句设置的条件

array<string, string> $types 可选

包含要用于转换的类型的关联数组列表

返回值
Cake\Database\StatementInterface

updateQuery() ¶ public

updateQuery(Cake\Database\ExpressionInterface|string|null $table = null, array $values = [], array $conditions = [], array<string, string> $types = []): Cake\Database\Query\UpdateQuery

为此连接创建一个新的 UpdateQuery 实例。

参数
Cake\Database\ExpressionInterface|string|null $table 可选

要更新行的表。

array $values 可选

要更新的值。

array $conditions 可选

要为更新语句设置的条件。

array<string, string> $types 可选

包含要用于转换的类型的关联数组。

返回值
Cake\Database\Query\UpdateQuery

wasNestedTransactionRolledback() ¶ protected

wasNestedTransactionRolledback(): bool

返回某个嵌套事务是否已回滚。

返回值
bool

属性详情

$_config ¶ protected

包含此连接的配置参数。

类型
array<string, mixed>

$_schemaCollection ¶ protected

模式集合对象

类型
Cake\Database\Schema\CollectionInterface|null

$_transactionLevel ¶ protected

包含已启动的嵌套事务数量。

类型
int

$_transactionStarted ¶ protected

此连接中是否正在进行事务。

类型
bool

$_useSavePoints ¶ protected

此连接是否可以以及应该使用保存点进行嵌套事务。

类型
bool

$cacher ¶ 受保护

缓存器对象实例。

类型
Psr\SimpleCache\CacheInterface|null

$nestedTransactionRollbackException ¶ 受保护

NestedTransactionRollbackException 对象实例,如果在某个嵌套事务中调用回滚方法,将存储该实例。

类型
Cake\Database\Exception\NestedTransactionRollbackException|null

$queryFactory ¶ 受保护

类型
QueryFactory

$readDriver ¶ 受保护

类型
Cake\Database\Driver

$writeDriver ¶ 受保护

类型
Cake\Database\Driver
OpenHub
Pingping
Linode
  • 商业解决方案
  • 展示
  • 文档
  • 书籍
  • API
  • 视频
  • 报告安全问题
  • 隐私政策
  • 标识和商标
  • 社区
  • 参与
  • 问题 (Github)
  • 面包店
  • 精选资源
  • 培训
  • 聚会
  • 我的CakePHP
  • CakeFest
  • 时事通讯
  • 领英
  • YouTube
  • 脸书
  • 推特
  • Mastodon
  • 帮助与支持
  • 论坛
  • 堆栈溢出
  • IRC
  • Slack
  • 付费支持

使用 CakePHP API 文档 生成