DbQueryDependency
API reference › yii › caching › DbQueryDependency
DbQueryDependency represents a dependency based on the query result of an 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 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.
See also: QueryInterface.
Properties
Section titled “Properties”| Property | Type | Description | Defined by |
|---|---|---|---|
$data | mixed | The dependency data that is saved in cache and later is compared with the latest dependency data. Default: null. | Dependency |
$db | string| | The application component ID of the database connection, connection object or its array configuration. Default: null. | DbQueryDependency |
$method | string| | Method which should be invoked in over the $query object. Default: null. | DbQueryDependency |
$query | yii\ | The query which result is used to determine if the dependency has been changed. Default: null. | DbQueryDependency |
$reusable | bool | Whether this dependency is reusable or not. Default: false. | Dependency |
Methods
Section titled “Methods”| Method | Description | Defined by |
|---|---|---|
__construct() | Constructor. | yii\ |
__call() | Calls the named method which is not a class method. | yii\ |
__get() | Returns the value of an object property. | yii\ |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\ |
__set() | Sets value of an object property. | yii\ |
__unset() | Sets an object property to null. | yii\ |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\ |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\ |
className() static | Returns the fully qualified name of this class. | yii\ |
evaluateDependency() | Evaluates the dependency by generating and saving the data related with dependency. | Dependency |
hasMethod() | Returns a value indicating whether a method is defined. | yii\ |
hasProperty() | Returns a value indicating whether a property is defined. | yii\ |
init() | Initializes the object. | yii\ |
isChanged() | Checks whether the dependency is changed. | Dependency |
resetReusableData() static | Resets all cached data for reusable dependencies. | Dependency |
generateDependencyData() protected | Generates the data needed to determine if dependency is changed. | DbQueryDependency |
generateReusableHash() protected | Generates a unique hash that can be used for retrieving reusable dependency data. | Dependency |
Property details
Section titled “Property details”public string|array|object $db = nullThe 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.
$method
Section titled “$method ”public string|callable|null $method = nullMethod 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 - QueryInterface::one() will be used.
$query
Section titled “$query ”public yii\db\QueryInterface $query = nullThe query which result is used to determine if the dependency has been changed.
Actual query method to be invoked is determined by $method.
Method details
Section titled “Method details”generateDependencyData()
Section titled “generateDependencyData() ”protected function generateDependencyData(yii\caching\CacheInterface $cache): mixedGenerates the data needed to determine if dependency is changed.
This method returns the query result.
Parameters
| Parameter | Type | Description |
|---|---|---|
$cache | CacheInterface | The cache component that is currently evaluating this dependency |
Returns
mixed: The data needed to determine if dependency has been changed.
Throws
yii\base\InvalidConfigException: on invalid configuration.