2008-11-12 27 views
1

我正在搞乱Doctrine(版本1.0.3),看看能否适合我写的应用程序的集合。为什么学说返回的字段比我所要求的要多?

我想要做一个查询,并只返回3个字段。我在一张表中获得了正确的字段,但是当我只需要一个字段时,连接表就可以获得所有内容。我已经写出了什么SQL应该在phpMyAdmin中,它只返回我需要的。

31 $ftp_info = Doctrine_Query::create() 
32   ->select('f.uid, f.home, s.identifier') 
33   ->from('FtpUser f') 
34   ->leftJoin('f.Submitter s') 
35   ->where('f.uid = ?',500) 
36   ->execute(); 
37 
38 print $ftp_info[0]->uid ."\n"; 
39 print $ftp_info[0]->home ."\n"; 
40 print $ftp_info[0]->Submitter->description ."\n"; 
41 print $ftp_info[0]->Submitter->identifier ."\n"; 

当我在查询中没有要求时,它给了我一个描述值。这两个表具有在适当的setUp方法中定义的一对一关系。

任何我缺少的线索?

回答

2

我想它会从您的请求中自动从数据库中延迟加载该字段。见here

也许你可以var_dump()结果证实了这一点

+0

后续代码var_dump似乎是无限的,但你是正确的,是发生了什么。我新的它懒加载类,但不是那样的领域。谢谢! – 2008-11-12 17:04:38

相关问题