我有一个实体'类别'这与“多个项目”有关。其中有很多'图像'
我将结果缓存在'类别'存储库以获取具有某些条件的链接到该类别的所有项目。使用redisBundle和doctrine:query-> setResultCacheDriver函数完成缓存:
try {
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->select('Category', 'Projects')
->from('AppBundle\Entity\Category', 'Category')
->leftJoin(
'Category.projects',
'Projects',
\Doctrine\ORM\Query\Expr\Join::WITH,
$qb->expr()->eq('Projects.active', 1)
)
->where(
$qb->expr()->eq('Category.slug', ':slug')
)
->setParameter('slug', $slug);
$query = $qb->getQuery();
$query
->setResultCacheDriver($this->cacheDriver)
->setResultCacheLifetime($this->cacheLifetime);
return $query->getOneOrNullResult();
} catch (\Doctrine\ORM\NoResultException $e) {
return null;
}
我循环浏览视图中的项目并显示每个项目的一些图像。
是否可以将这些查询缓存到?我现在每个项目获得1个查询以获取其图像。
答案 0 :(得分:1)
您正在使用缓存执行的操作不是问题。您为每个类别获取图像查询的原因是因为您正在加载图像。将图像连接到类别并将图像添加到您的选择中,您就会很好。