2017-02-08 18 views
-1

Я использую фильтр yii\filters\PageCache для своего действия, и я хочу определить зависимость кеша на основе параметра действия.Как получить текущий параметр действия?

E.g. Я хочу использовать yii\caching\DbDependency, чтобы выбрать updated_at столбец строки с id с запросом. Как я могу ссылаться на параметр id действия?

ответ

0

Если вы хотите добавить зависимость в кэше, то попробуйте этот

$db = Yii::$app->db; // or Category::getDb() 
     $dep = new DbDependency(); 
     $dep->sql = 'SELECT max(update_at) FROM table'; 
     $model = $db->cache(function ($db) { 
      return model::find()->asArray()->orderBy('id ASC')->all(); 

     },expirytime, $dep); 

Код проверит ваши данные в кэше, если он существует загрузит из кэша в противном случае его создания и кэшируются it.it будет также проверьте ваш update_at подал, если его значение изменяется, то он будет обновлять свой кэш, вам не нужно беспокоиться о том, что
, и если вы хотите получить доступ к текущей деятельности в Yii попробуйте этот код

Yii::$app->controller->id; //will return current controller// 
    Yii::$app->controller->action->id; //will return current action// 
Yii::$app->controller->module->id; //will return current module// 

Я надеюсь, что это поможет вам