Я хочу использовать DbQueryDependency для кэширования yii\mongodb\Query
, но я получаю это:
[error][yii\base\InvalidConfigException] yii\base\InvalidConfigException: "yii\caching\DbQueryDependency::$query" should be an instance of "yii\db\QueryInterface". in /vendor/yiisoft/yii2/caching/DbQueryDependency.php:78
- Mongodb 4.0.8
- PHP 7.2.6
- Yii 2.0.18
- yiisoft / yii2-mongodb 2.1.7
- yiisoft / yii2-redis 2.0.9
class Test extends yii\mongodb\ActiveRecord {
// ...
public static function findByTest($test){
$dep = new DbQueryDependency([
'query'=> (new Query())
->from('test')
->where(['test' => $test])
->orderBy(['updated_at' => -1 ])
->one(),
]);
$cache = Yii::$app->cache;
$key = 'test.'.$test;
return $cache->getOrSet($key, function () use ($test) {
return static::findOne(['test' => $test, 'status' => static::STATUS_ACTIVE]);
}, 3600, $dep);
}
// ...
}
Ожидаю кеширование yiiДокумент mongodb за 1 час, если только updated_at
не изменился, но на самом деле я получаю yii\base\InvalidConfigExc
eption: "yii\caching\DbQueryDependency::$query" should be an instance of "yii\db\QueryInterface".
Как я могу это исправить?спасибо!