@hollanditkzn

Почему не обновляется кэш?

У меня встала такая проблема, когда я захотел закешировать страницу, использовал http кэшированием, то получил что одни данные осле редиректа как оставались, так и остаются на своем месте, хотя там статус 200
Вот мой код в контроллере

public function behaviors()
    {
return [
'caching' => [
                'class' => 'yii\filters\HttpCache',
                'only' => ['admin', 'shop', 'master', 'disain'],
                'lastModified' => function(){
                    return Zakaz::find()->max('date_update');
                }
            ],
]
}

public function actionFulfilled($id)
    {
        $model = $this->findModel($id);
        $model->status = self::STATUS_EXECUTE;//меняется статус на закрытие
        if ($model->save()) {
            Yii::$app->session->addFlash('update', 'Выполнен заказ №'.$model->prefics);
            return $this->redirect(['admin']);
        } else {
            print_r($model->getErrors());//если ошибка то пишет проблему
        }
    }

В моделе
public function behaviors()
    {
        return [
            [
                'class' => 'yii\behaviors\TimestampBehavior',
                'attributes' => [
                    ActiveRecord::EVENT_BEFORE_INSERT => ['date_update'],
                    ActiveRecord::EVENT_BEFORE_UPDATE => ['date_update'],
                ]
            ]
        ];
    }
public function rules()
    {
return [
...
[['date_update'], 'integer']
]
}

Вот постоянно после редиректа как осталось запись на месте так и остается, если только не обновить самому старницу, то она уходит. При этом date_update меняется значение. И потом когда восстанавливаю, то опять ничего не меняется, только нужно обновлять с очищением кэша, тогда все работает
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
У вас
'only' => ['admin', 'shop', 'master', 'disain'],
а Вы говорите про Fulfilled
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы