Class yii\caching\DbQueryDependency

继承yii\caching\DbQueryDependency » yii\caching\Dependency » yii\base\BaseObject
实现yii\base\Configurable
可用自版本2.0.12
源代码 https://github.com/yiisoft/yii2/blob/master/framework/caching/DbQueryDependency.php

DbQueryDependency represents a dependency based on the query result of an yii\db\QueryInterface instance.

If the query result changes, the dependency is considered as changed. The query is specified via the $query property.

Object of any class which matches yii\db\QueryInterface can be used, so this dependency can be used not only with regular relational databases but with MongoDB, Redis and so on as well.

For more details and usage information on Cache, see the guide article on caching.

参见 yii\db\QueryInterface.

公共属性

隐藏继承的属性

属性类型描述定义在
$data mixed The dependency data that is saved in cache and later is compared with the latest dependency data. yii\caching\Dependency
$db string|array|object The application component ID of the database connection, connection object or its array configuration. yii\caching\DbQueryDependency
$method string|callable Method which should be invoked in over the $query object. yii\caching\DbQueryDependency
$query yii\db\QueryInterface The query which result is used to determine if the dependency has been changed. yii\caching\DbQueryDependency
$reusable boolean Whether this dependency is reusable or not. yii\caching\Dependency

公共方法

隐藏继承的方法

方法描述定义在
__call() 调用不是类方法的已命名方法. yii\base\BaseObject
__construct() 构造函数. yii\base\BaseObject
__get() 返回对象属性的值. yii\base\BaseObject
__isset() 检查属性是否已设置, 即已定义且不为null. yii\base\BaseObject
__set() 设置对象属性的值. yii\base\BaseObject
__unset() 将对象属性设置为null. yii\base\BaseObject
canGetProperty() 返回一个值, 指示属性是否可读. yii\base\BaseObject
canSetProperty() 返回一个值, 指示属性是否可写. yii\base\BaseObject
className() 返回此类的完全限定名称. yii\base\BaseObject
evaluateDependency() Evaluates the dependency by generating and saving the data related with dependency. yii\caching\Dependency
getHasChanged() Returns a value indicating whether the dependency has changed. yii\caching\Dependency
hasMethod() 返回一个值, 指示方法是否已定义. yii\base\BaseObject
hasProperty() 返回一个值, 指示属性是否已定义. yii\base\BaseObject
init() 初始化对象. yii\base\BaseObject
isChanged() Checks whether the dependency is changed. yii\caching\Dependency
resetReusableData() Resets all cached data for reusable dependencies. yii\caching\Dependency

受保护的方法

隐藏继承的方法

方法描述定义在
generateDependencyData() Generates the data needed to determine if dependency is changed. yii\caching\DbQueryDependency
generateReusableHash() Generates a unique hash that can be used for retrieving reusable dependency data. yii\caching\Dependency

属性详情

$db public 属性

The application component ID of the database connection, connection object or its array configuration. This field can be left blank, allowing query to determine connection automatically.

public string|array|object $db null
$method public 属性

Method which should be invoked in over the $query object.

If specified as a string an own query method with such name will be invoked, passing $db value as its first argument. For example: exists, all.

This field can be specified as a PHP callback of following signature:

function (QueryInterface $query, mixed $db) {
    //return mixed;
}

If not set - yii\db\QueryInterface::one() will be used.

public string|callable $method null
$query public 属性

The query which result is used to determine if the dependency has been changed. Actual query method to be invoked is determined by $method.

方法详情

generateDependencyData() protected 方法

Generates the data needed to determine if dependency is changed.

This method returns the query result.

protected mixed generateDependencyData ( $cache )
$cache yii\caching\CacheInterface

The cache component that is currently evaluating this dependency

return mixed

The data needed to determine if dependency has been changed.

throws yii\base\InvalidConfigException

on invalid configuration.