Php zend db查询获取不需要的列

Php zend db查询获取不需要的列,php,mysql,zend-framework,Php,Mysql,Zend Framework,所以我有这个代码: $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($

所以我有这个代码:

$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执行它并打印结果时,除了r_id之外,它还返回了表注释中的一大堆字段,这些字段填充了空数据

我做错什么了吗?我如何才能让它只按计划返回单个列…

我认为它是joinLeft()。您可能需要将空数组()作为第三个参数传递

    Try 
    print_r($results->toArray()); //Pure array format of result
    array('')  //    If you dont want columns from a joining table you pass as the last parameter to the join    
 array('*') //IF you want all the fields 
$sql = $db->select()
    ->from(array("r" => "recc"), array("r_id" => "refID"))
    ->joinLeft(array("c" => "comment"), "r.refID = c.refID", array());