不久前,我问了几个关于 Doctrine 查询缓存的问题,因为它没有按我的意愿工作。
关于为什么我的关系没有被缓存的问题:
关于如何使用分离和合并缓存关系的问题:
我不知道为什么我不早点这样做,但我刚刚启用了 Doctrine EchoSQLLogger,当我重新合并实体时,我发现每个页面都在执行三个查询。
我的实体是user,company和privilege,user是另外两个的父级。当我第一次获得userwithcompany并privilege加入时,我运行detach在user然后将其放入ApcCache. 当我从缓存中获取时,我会做一个merge让我恢复user所有 Doctrine 魔法的实体。
问题是,当我调用 时merge,它会查询user、 thecompany和 then privilege。这merge是应该如何工作的吗?
有没有办法在user不调用数据库的情况下缓存我的实体与两个完整的关系?