php - 为什么 Doctrine 返回的字段比我要求的多?

标签 php mysql orm doctrine

我正在研究 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/

相关文章:

php - 如何在删除表中的一行时删除所有相关的表记录?

php - 存储过程的替代品

mysql - 如何验证 MySQL 中也有字母数字日期的日期

php - 无法获取最后一个插入标识符 - mysql View 的 Doctrine

java - Hibernate 与连接表的映射异常

java - JDBC 查询缓存和预缓存

php - 如何使用 php 将带有合并单元格的 .csv 文件导出到 mysql?

java - Java 中 PHP 的 strtotime()

php - 将 MySQL 结果相互比较,同时将它们放入表中

hibernate - Grails/hibernate : Null Pointer Exception on versioning