MUTOgen4eg
@MUTOgen4eg

Как работать с фрагментами кэша в Yii2?

Столкнулся со странной проблемой. Использую кэш фрагментов в Yii2.
С виду все просто

if ($this->beginCache($key, ['dependency' => $dependency])) {...тут некоторые действия...}


Этот фрагмент у меня находится в цикле прохода по моделям, извлеченным из базы. Внутри формируется однотипный блок для каждого объекта. Условие сброса - изменение самого объекта

$dependency = [
 'class' => 'yii\caching\DbDependency',
 'sql' => 'SELECT updated FROM table WHERE id='.$model->id,
];


То есть задача накопить кучу фрагментов под каждый объект. Разумеется $key делаю в зависимости от id модели, типа

"frag-".$model->id

Но в итоге получаю странную ерунду. Отображение такой страницы ломается. Выводится просто вьюшка, без шаблона, а вывод шаблона начинается сразу после отрабатывания данного цикла. Как только, например, делаю id кэша таким

"frag"

т.е. одинаковым для всех, то страницу вижу в нормальном виде.
В чем может быть проблема?
  • Вопрос задан
  • 482 просмотра
Пригласить эксперта
Ответы на вопрос 1
vyachin
@vyachin
Ищу работу
$this->endCache(); забыли, читаем тут https://github.com/yiisoft/yii2/blob/master/docs/g...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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