volego
@volego
Fullstack web-разработчик

Yii2 как установить зависимость кэша страницы от двух таблиц?

Добрый день!
Есть 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){
                   ...
                },
            ],
...


Вопрос: как сделать так, чтобы кэш страницы зависел не только от изменения основной таблицы, но и от таблицы, используемой для построения фильтра?
  • Вопрос задан
  • 278 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы