Doctrine orm 延迟加载,结果来自缓存
第一次运行时,我会返回一个托管实体,并且可以延迟加载其他关系。从缓存返回结果时,它不是托管实体,因此延迟加载不起作用。我可以做些什么来保持水合缓存并使延迟加载与水合缓存的结果一起工作吗?你找到解决方案了吗?@user2268997很遗憾,我找不到解决该问题的方法。令人沮丧的是,它没有得到支持。Doctrine orm 延迟加载,结果来自缓存,doctrine-orm,Doctrine Orm,第一次运行时,我会返回一个托管实体,并且可以延迟加载其他关系。从缓存返回结果时,它不是托管实体,因此延迟加载不起作用。我可以做些什么来保持水合缓存并使延迟加载与水合缓存的结果一起工作吗?你找到解决方案了吗?@user2268997很遗憾,我找不到解决该问题的方法。令人沮丧的是,它没有得到支持。 $queryBuilder = $this->getEntityManager()->createQueryBuilder() ->from('ShopHqCartBundle:
$queryBuilder = $this->getEntityManager()->createQueryBuilder()
->from('ShopHqCartBundle:PromotionalDiscount', 'pd')
->leftJoin('pd.requiredSkus', 'pdrs')
->andWhere('pd.id = :id')
->select('pd', 'pdrs');
$query = $queryBuilder->getQuery();
$cache = $this->getEntityManager()->getConfiguration()->getResultCacheImpl();
$hydrationCacheProfile = new QueryCacheProfile(60 * 60 * 12, $cacheKeyHydrated, $cache);
$result = $query
->useQueryCache(true)
->useResultCache(true, 60 * 60 * 12, $cacheKey)
->setHydrationCacheProfile($hydrationCacheProfile)
->getResult();