我正在从文章表中获取数据,但我想用另一个表中的一些数据来扩展返回的结果。 例如:添加额外的数据来选择查询结果
public function getArticlesByCategoryId($category_id = 0) {
$select = $this->_db->select()
->from($this->_name)
->limit(5)
->order("pubDate DESC");
$result = $this->_db->fetchAll($select);
$mCategories = new Model_Categories();
foreach($result as $row) { // as &$row doesn't work
$category_name = $mCategories->getNameById($row["category_id"]);
$row["category_name"] = $category_name; // this to add to $result but dunno how
// blah blah...
}
return $result; // the new one with ...->category_name in it.
}
我希望你能明白我所期待的。 或者,也许最好是写一个单一的查询(连接,不知道如何),并获取一次所需的所有数据,而无需调用另一个模型的方法?
非常感谢你Stardev,它就像一个魅力! – enenen
只有setIntegrityCheck发生错误:无法识别的方法'setIntegrityCheck()'。但即使没有它,结果也是正确的。我认为这是我的错,因为我不确定我的整个Zend应用程序是否配置正确。 – enenen
啊谢谢指出,我的不好:'setIntegrityCheck()'应该只在与Zend_Db_Table_Select对象连接时被调用。由于我们在db-instance本身上调用了'select()',因此会创建一个'Zend_Db_Select'对象,并且可以省略'setIntegrityCheck()'。更新了答案。很高兴它的工作。 – Config