我正在使用 Doctrine 2.2.2 尝试对用户实体以及用户的公司进行查询。我希望缓存这个查询,因为里面的数据不会经常改变,如果有的话。以下是我尝试过的:
$user = $em->createQuery('
SELECT u, c
FROM Entities\User u
LEFT JOIN u.company c
WHERE u.id = :id
')->setParameter('id', $identity)->useResultCache(true, 21600, 'user_' . $identity)->getResult();
看起来,用户实体被缓存了,但它仍然对公司进行查询。有没有一种方法可以同时获取两者并将它们放入结果缓存中?
我确实找到了这个,但它已经很老了,他的解决方案对我不起作用。
有人建议我这样做,但这违背了结果缓存的目的。