如何检索包含所有关系记录的Doctrine记录?

时间:2010-07-31 10:35:25

标签: doctrine orm foreign-key-relationship record

我想知道是否有办法获取所有关系数据的记录,例如'Deep-Fetch'

因此,如果模型Child与另一个模型Parent相关, 我们可以取童子吗?然后通过单个查询访问Child-> Parent->名称?

每当访问关系时,Doctrine都会触发查询。这太贵了吗?它需要优化吗?

感谢

1 个答案:

答案 0 :(得分:2)

当您从该关系中选择字段时,Doctrine会自动为相关对象加水:

Doctrine_Query::create()
  ->select('a.*, c.*)
  ->from('Article a')
  ->innerJoin('Category c');

在此示例中,Article和Category对象都是水合的(不会进行其他查询)。