CakePHP
  • 文档
    • 书籍
    • API
    • 视频
    • 报告安全问题
    • 隐私政策
    • 标识和商标
  • 商业解决方案
  • 纪念品
  • 公路旅行
  • 团队
  • 社区
    • 社区
    • 参与进来
    • 问题(Github)
    • 面包店
    • 特色资源
    • 培训
    • 聚会
    • 我的CakePHP
    • CakeFest
    • 时事通讯
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • 帮助和支持
    • 论坛
    • Stack Overflow
    • 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
    • I18n
    • 日志
    • 邮件
    • 网络
    • ORM
      • 关联
      • 行为
      • 异常
      • 定位器
      • 查询
      • 规则
    • 路由
    • 测试套件
    • 实用程序
    • 验证
    • 视图

类关联集合

关联类容器/集合。

包含用于管理关联和围绕保存和删除操作排序的方法。

命名空间: Cake\ORM

属性概要

  • $_items protected
    array<string,Cake\ORM\Association>

    存储的关联

  • $_tableLocator protected
    Cake\ORM\Locator\LocatorInterface|null

    表定位器实例

  • $defaultTable protected
    string|null

    此对象的默认表别名。

方法概要

  • __construct() public

    构造函数。

  • _normalizeAssociations() protected

    从原始传递的关联列表中返回一个数组,其中点表示法被转换为嵌套数组,以便其他例程可以解析它们。

  • _save() protected

    用于保存关联数据的辅助方法。

  • _saveAssociations() protected

    用于保存关联数据的辅助方法。

  • add() public

    向集合添加关联

  • cascadeDelete() public

    在各种关联中级联删除。首先跨cascadeCallbacks为真的关联级联。

  • fetchTable() public

    获取表实例的便捷方法。

  • get() public

    按名称获取附加的关联。

  • getByProperty() public

    按属性名称获取关联。

  • getByType() public

    获取匹配特定类型的关联数组。

  • getIterator() public

    允许遍历关联

  • getTableLocator() public

    获取表定位器。

  • has() public

    检查是否存在按名称附加的关联。

  • keys() public

    获取集合中所有关联的名称。

  • load() public

    创建并将关联对象添加到此集合中。

  • normalizeKeys() public

    从混合数组中返回关联名称的关联数组。如果传递 true,则返回此集合中的所有关联名称。

  • remove() public

    删除/移除关联。

  • removeAll() public

    删除所有注册的关联。

  • saveChildren() public

    保存所有作为给定实体的子级的关联。

  • saveParents() public

    保存所有作为给定实体的父级的关联。

  • setTableLocator() public

    设置表定位器。

方法详细说明

__construct() ¶ public

__construct(Cake\ORM\Locator\LocatorInterface|null $tableLocator = null)

构造函数。

为关联设置默认表定位器。如果未提供定位器,则将使用全局定位器。

参数
Cake\ORM\Locator\LocatorInterface|null $tableLocator optional

表定位器实例。

_normalizeAssociations() ¶ protected

_normalizeAssociations(array|string $associations): array

从原始传递的关联列表中返回一个数组,其中点表示法被转换为嵌套数组,以便其他例程可以解析它们。

参数
array|string $associations

包含的关联数组。

返回值
array

_save() ¶ protected

_save(Cake\ORM\Association $association, Cake\Datasource\EntityInterface $entity, array<string, mixed> $nested, array<string, mixed> $options): bool

用于保存关联数据的辅助方法。

参数
Cake\ORM\Association $association

要保存的关联对象。

Cake\Datasource\EntityInterface $entity

要保存的实体

array<string, mixed> $nested

更深层关联的选项

array<string, mixed> $options

原始选项

返回值
bool

_saveAssociations() ¶ protected

_saveAssociations(Cake\ORM\Table $table, Cake\Datasource\EntityInterface $entity, array $associations, array<string, mixed> $options, bool $owningSide): bool

用于保存关联数据的辅助方法。

参数
Cake\ORM\Table $table

当前正在进行保存操作的表

Cake\Datasource\EntityInterface $entity

要保存的实体

array $associations

要保存的关联数组。

array<string, mixed> $options

原始选项

bool $owningSide

与关联类的isOwningSide方法相比。

返回值
bool
抛出
InvalidArgumentException
当使用未知别名时。

add() ¶ public

add(string $alias, Cake\ORM\Association $association): Cake\ORM\Association

向集合添加关联

如果添加的别名包含“.”,则“.”之前的部分将被删除。这使得使用插件更简单,因为插件.类语法经常被使用。

参数
string $alias

关联别名

Cake\ORM\Association $association

要添加的关联。

返回值
Cake\ORM\Association
抛出
Cake\Core\Exception\CakeException
如果别名已经添加。

cascadeDelete() ¶ public

cascadeDelete(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options): bool

在各种关联中级联删除。首先跨cascadeCallbacks为真的关联级联。

参数
Cake\Datasource\EntityInterface $entity

要删除关联的实体。

array<string, mixed> $options

删除操作中使用的选项。

返回值
bool

fetchTable() ¶ public

fetchTable(string|null $alias = null, array<string, mixed> $options = []): Cake\ORM\Table

获取表实例的便捷方法。

参数
string|null $alias optional

要获取的别名。应使用驼峰式命名法。如果为 null,则使用 $defaultTable 属性的值。

array<string, mixed> $options optional

要使用这些选项构建表。如果表已加载,则注册表选项将被忽略。

返回值
Cake\ORM\Table
抛出
Cake\Core\Exception\CakeException
如果 `$alias` 参数和 `$defaultTable` 属性都为 `null`。
另请参见
\Cake\ORM\TableLocator::get()

get() ¶ public

get(string $alias): Cake\ORM\Association|null

按名称获取附加的关联。

参数
string $alias

要获取的关联别名。

返回值
Cake\ORM\Association|null

getByProperty() ¶ public

getByProperty(string $prop): Cake\ORM\Association|null

按属性名称获取关联。

参数
string $prop

要按其查找关联的属性。

返回值
Cake\ORM\Association|null

getByType() ¶ public

getByType(list<string>|string $class): arrayCake\ORM\Association>

获取匹配特定类型的关联数组。

参数
list<string>|string $class

您想要的关联类型。例如 'BelongsTo' 或数组如 ['BelongsTo', 'HasOne']

返回值
arrayCake\ORM\Association>

getIterator() ¶ public

getIterator(): Traversable<string,Cake\ORM\Association>

允许遍历关联

返回值
Traversable<string,Cake\ORM\Association>

getTableLocator() ¶ public

getTableLocator(): Cake\ORM\Locator\LocatorInterface

获取表定位器。

返回值
Cake\ORM\Locator\LocatorInterface

has() ¶ public

has(string $alias): bool

检查是否存在按名称附加的关联。

参数
string $alias

要获取的关联别名。

返回值
bool

keys() ¶ public

keys(): list<string>

获取集合中所有关联的名称。

返回值
list<string>

load() ¶ public

load(string $className, string $associated, array<string, mixed> $options = []): Cake\ORM\Association

创建并将关联对象添加到此集合中。

参数
string $className

关联类的名称。

string $associated

目标表的别名。

array<string, mixed> $options optional

用于配置关联定义的选项列表。

返回值
Cake\ORM\Association
抛出
InvalidArgumentException

normalizeKeys() ¶ public

normalizeKeys(array|string|bool $keys): array

从混合数组中返回关联名称的关联数组。如果传递 true,则返回此集合中的所有关联名称。

参数
array|string|bool $keys

需要标准化的关联名称列表

返回值
array

remove() ¶ public

remove(string $alias): void

删除/移除关联。

移除后,该关联将不再可访问。

参数
string $alias

别名。

返回值
void

removeAll() ¶ public

removeAll(): void

删除所有注册的关联。

移除后,关联将不再可访问。

返回值
void

saveChildren() ¶ public

saveChildren(Cake\ORM\Table $table, Cake\Datasource\EntityInterface $entity, array $associations, array<string, mixed> $options): bool

保存所有作为给定实体的子级的关联。

子关联包括任何以当前表为非拥有方的关联。

参数
Cake\ORM\Table $table

表实体所针对的。

Cake\Datasource\EntityInterface $entity

用于保存关联数据的实体。

array $associations

需要保存子关联的关联列表。不在此列表中的关联将不会被保存。

array<string, mixed> $options

保存操作的选项。

返回值
bool

saveParents() ¶ public

saveParents(Cake\ORM\Table $table, Cake\Datasource\EntityInterface $entity, array $associations, array<string, mixed> $options = []): bool

保存所有作为给定实体的父级的关联。

父关联包括任何以当前表为拥有方的关联。

参数
Cake\ORM\Table $table

表实体所针对的。

Cake\Datasource\EntityInterface $entity

用于保存关联数据的实体。

array $associations

需要保存父关联的关联列表。不在此列表中的关联将不会被保存。

array<string, mixed> $options optional

保存操作的选项。

返回值
bool

setTableLocator() ¶ public

setTableLocator(Cake\ORM\Locator\LocatorInterface $tableLocator): $this

设置表定位器。

参数
Cake\ORM\Locator\LocatorInterface $tableLocator

LocatorInterface 实例。

返回值
$this

属性详情

$_items ¶ protected

存储的关联

类型
array<string,Cake\ORM\Association>

$_tableLocator ¶ protected

表定位器实例

类型
Cake\ORM\Locator\LocatorInterface|null

$defaultTable ¶ protected

此对象的默认表别名。

类型
string|null
OpenHub
Pingping
Linode
  • 商业解决方案
  • 展示
  • 文档
  • 书籍
  • API
  • 视频
  • 报告安全问题
  • 隐私政策
  • 标识和商标
  • 社区
  • 参与进来
  • 问题(Github)
  • 面包店
  • 特色资源
  • 培训
  • 聚会
  • 我的CakePHP
  • CakeFest
  • 时事通讯
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • 帮助和支持
  • 论坛
  • Stack Overflow
  • IRC
  • Slack
  • 付费支持

使用 CakePHP API 文档 生成