Добрый день!
Есть CRUD-контроллер для модели, допустим user, в нем организованно кэширование страниц через:
public function behaviors()
{
return [
[
'class' => 'yii\filters\PageCache',
'duration' => 0,
'variations' => [
Yii::$app->request->pathInfo,
Yii::$app->request->get(),
Yii::$app->language,
],
'dependency' => [
'class' => 'yii\caching\DbDependency',
'sql' => 'SELECT MAX(updated_at) FROM user',
],
'enabled' => Yii::$app->request->isGet
],
];
}
Сейчас кэш зависит только от последней модификации таблицы пользователей. В виде для index у меня выводятся данные через GridView, где есть фильтр по связанному полю, который формируется из статической функции другой модели:
...
[
'attribute'=>'restaurant',
'filter'=>Restaurant::nameArrayMap(),
'value' => function ($model){
...
},
],
...
Вопрос: как сделать так, чтобы кэш страницы зависел не только от изменения основной таблицы, но и от таблицы, используемой для построения фильтра?