У меня встала такая проблема, когда я захотел закешировать страницу, использовал 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 меняется значение. И потом когда восстанавливаю, то опять ничего не меняется, только нужно обновлять с очищением кэша, тогда все работает