Doctrine:延迟加载属性

时间:2010-10-22 17:34:25

标签: php orm doctrine

看起来当我忘记将leftJoin放入我的查询中时,Doctrine会在我选择它们之后延迟加载关系。即如果我做了类似的事情:

$property = PropertyTable::getInstance()->createQuery('o')
  ->leftJoin('o.Features f')
  ->execute() ;

我仍然可以访问$ property->吸引力,即使我没有在此查询中加载它们。所以我猜Doctrine通过调用另一个'SELECT'在内部完成它。有没有办法通过抛出一些异常来阻止这种自动加载?这将有助于我创建更好,更快的查询。

1 个答案:

答案 0 :(得分:-1)

你看过它产生的实际sql吗?

试试->getSql()。当您尝试访问相关字段时,可能正在执行另一个查询。

如果您想避免这种情况,请不要访问相关字段!