所以我有这段代码:
$db = new Zend_Db_Adapter_Pdo_Mysql($params);
$sql = $db->select()->from(array("r" => "recc"), array("r_id" => "refID"))->joinLeft(array("c" => "comment"), "r.refID = c.refID");
$results = $db->fetchAll($sql);
print_r($results);
应该翻译成这个查询:
SELECT refID AS r_id FROM recc r LEFT JOIN comment c ON r.refID = c.refID
它应该只返回一个单独的列 r_id 并且当使用 mysql 查询浏览器执行时它确实返回了那个单独的列
但是当您使用 db select 和 print_r 执行它时,除了 r_id 之外,它还返回了表注释中的一大堆字段,这些字段填充了空数据...
我是不是做错了什么?我如何才能按计划只返回单个列...
最佳答案
我认为是 joinLeft()。您可能需要传递一个空 array() 作为第三个参数。
$sql = $db->select()
->from(array("r" => "recc"), array("r_id" => "refID"))
->joinLeft(array("c" => "comment"), "r.refID = c.refID", array());
关于php - zend db 查询获取不需要的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8004775/