Class CachedCollection
Extends the schema collection class to provide caching
Property Summary
-
$_cache protected
string|boolThe name of the cache config key to use for caching table metadata, of false if disabled.
-
$_connection protected
Cake\Database\ConnectionConnection object
-
$_dialect protected
Cake\Database\Schema\BaseSchemaSchema dialect instance.
Method Summary
-
__construct() public
Constructor.
-
_reflect() protected
Helper method for running each step of the reflection process.
-
cacheKey() public
Get the cache key for a given name.
-
cacheMetadata() public deprecated
Sets the cache config name to use for caching table metadata, or disables it if false is passed. If called with no arguments it returns the current configuration name.
-
describe() public
Get the column metadata for a table.
-
getCacheMetadata() public
Gets the cache config name to use for caching table metadata, false means disabled.
-
listTables() public
Get the list of tables available in the current connection.
-
setCacheMetadata() public
Sets the cache config name to use for caching table metadata, or disables it if false is passed.
Method Detail
__construct() ¶ public
__construct(Cake\Datasource\ConnectionInterface $connection, string|bool $cacheKey = true)
Constructor.
Parameters
-
Cake\Datasource\ConnectionInterface$connection The connection instance.
-
string|bool$cacheKey optional The cache key or boolean false to disable caching.
_reflect() ¶ protected
_reflect(string $stage, string $name, array $config, Cake\Database\Schema\TableSchema $schema): void
Helper method for running each step of the reflection process.
Parameters
-
string$stage The stage name.
-
string$name The table name.
-
array$config The config data.
-
Cake\Database\Schema\TableSchema$schema The table instance
Returns
voidThrows
Cake\Database\Exceptionon query failure.
cacheKey() ¶ public
cacheKey(string $name): string
Get the cache key for a given name.
Parameters
-
string$name The name to get a cache key for.
Returns
stringThe cache key.
cacheMetadata() ¶ public
cacheMetadata(bool|null $enable = null): string|bool
Sets the cache config name to use for caching table metadata, or disables it if false is passed. If called with no arguments it returns the current configuration name.
Parameters
-
bool|null$enable optional Whether or not to enable caching
Returns
string|booldescribe() ¶ public
describe(string $name, array $options = []): Cake\Database\Schema\TableSchema
Get the column metadata for a table.
Caching will be applied if cacheMetadata key is present in the Connection
configuration options. Defaults to _cakemodel when true.
Options
forceRefresh- Set to true to force rebuilding the cached metadata. Defaults to false.
Parameters
-
string$name -
array$options optional
Returns
Cake\Database\Schema\TableSchemagetCacheMetadata() ¶ public
getCacheMetadata(): string|bool
Gets the cache config name to use for caching table metadata, false means disabled.
Returns
string|boollistTables() ¶ public
listTables(): array
Get the list of tables available in the current connection.
Returns
arrayThe list of tables in the connected database/schema.
setCacheMetadata() ¶ public
setCacheMetadata(bool $enable): $this
Sets the cache config name to use for caching table metadata, or disables it if false is passed.
Parameters
-
bool$enable Whether or not to enable caching
Returns
$this