类 TableRegistry
提供 Table 对象的注册表/工厂。
该注册表允许您集中配置表、连接和其他元数据。
配置实例
您可能需要配置您的表对象。使用 TableLocator
,您可以集中配置。在创建实例之前设置的任何配置将在创建实例时使用。如果您在实例创建后修改配置,不会更新实例。
TableRegistry::getTableLocator()->setConfig('Users', ['table' => 'my_users']);
如果使用相同表的多個别名,配置数据将按别名存储,您需要多次设置配置。
获取实例
您可以通过 TableLocator::get()
从注册表中获取实例。每个别名存储一个实例。别名填充后,将始终返回相同的实例。这减少了 ORM 的内存消耗,并有助于解决循环引用问题。
$table = TableRegistry::getTableLocator()->get('Users', $config);
命名空间: Cake\ORM
方法摘要
-
getTableLocator() public static
返回 LocatorInterface 实现的单例实例。
-
setTableLocator() public static
设置 LocatorInterface 实现的单例实例。
方法详细说明
getTableLocator() ¶ public static
getTableLocator(): Cake\ORM\Locator\LocatorInterface
返回 LocatorInterface 实现的单例实例。
返回
Cake\ORM\Locator\LocatorInterface
setTableLocator() ¶ public static
setTableLocator(Cake\ORM\Locator\LocatorInterface $tableLocator): void
设置 LocatorInterface 实现的单例实例。
参数
-
Cake\ORM\Locator\LocatorInterface
$tableLocator 要使用的定位器实例。
返回
void