我正在研究 Doctrine(版本 1.0.3),看看它是否适合我正在编写的应用程序集合。
我正在尝试进行查询并仅返回 3 个字段。我在一张表中得到了正确的字段,但是当我只想要一个字段时,我得到了所有的连接表。我已经在 phpMyAdmin 中写出了 SQL 应该是什么,它只返回我需要的。
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";
当我在查询中没有要求它时,它为我提供了一个描述值。这两个表具有在适当的设置方法中定义的一对一关系。
有什么我遗漏的线索吗?
最佳答案
我认为它会在您请求时自动从数据库中延迟加载该字段。参见 here
你也许可以 var_dump()
结果来确认这一点
关于php - 为什么 Doctrine 返回的字段比我要求的多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/284463/