HDApache
@HDApache
PHP программист

Как в YII кэшировать связанные данные?

Использую кэширование в модели так:

$posts = Post::model()->cache(1000)->findAll();
$posts = Post::model()->cache(1000)->with('author')->findAll();

В первом случае все что в $posts закэшируется, а вот в $posts->author уже нет... Как быть? Можно конечно заморочится и сделать через

Yii::app()->cache->set() и Yii::app()->cache->get()

Но хочется через Active Record сделать... Но как?
  • Вопрос задан
  • 2433 просмотра
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
не стоит этого делать через active record. Вынесите функционал получения данных в отдельный компонент и там применяйте кэш.
Ответ написан
Комментировать
HDApache
@HDApache Автор вопроса
PHP программист
А почему не стоит? В чем плохая практика?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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