Zend DB Table模型和查询多个表

3
在Zend Framework模型中,如果扩展了Zend_Db_Table_Abstract类,能否像在CodeIgniter模型类中一样,调用不同表的多个方法?
当像这样定义表名时:protected $_name = table_name,有没有一种方法可以查询多个表而不影响该受保护属性?我主要关心这个问题,因为我想要一个用于主页的模型,它将处理前端网站并从不同的表获取数据,这样我就不必接触后端db-table模型。

为什么不使用 DbTable—>Mapper—>Model 的架构呢?这样你就可以为每个表创建一个 Zend_Db_Table,并在映射器中使用它们来创建模型。 - balkon_smoke
2个回答

2

您还可以直接访问表中的DB适配器成员并查询它,指定您选择的表名。

例如,对于一个select,您可以执行以下操作:

$select = $this->getAdapter()->select();
$select->from('tableName', $fields);
// ...
$results = $this->getAdapter()->fetchAll($select);

希望这可以帮到您,

0

尝试使用protected $_name = array(1=>'table1', 2=>'table2', /*etc...*/);

当进行查询时,添加一个foreach()到您的代码中,像这样:

foreach ($_name as $table)
{
    // execute your query
}

应该可以工作,我在我的CMS的AdminZone中使用了这个...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接