我有一些我已定义的表格,如下例所示:
class TableA extends Zend_Db_Table_Abstract
{
protected $_schema = 'schema1';
protected $_name = 'tablea';
}
class TableB extends Zend_Db_Table_Abstract
{
protected $_schema = 'schema2';
protected $_name = 'tableb';
}
这似乎可以完美地使用一个默认的Db适配器(因为这两个模式位于同一台服务器上)。
这样的代码有效:
$tableA = new TableA();
$select = $tableA->select();
// $select->__toString() outputs: SELECT * FROM `schema1`.`tablea`
但是,当我尝试将任何Zend Framework表关系函数(即:findDependantRowset()或findManyToManyRowset())使用相同的模型时,查询尝试使用默认适配器中的模式执行,并且不使用在模型类中定义的适当模式。
这是一个错误吗?如何强制ZF使用我在表类中定义的模式而不是默认Db适配器中定义的模式?
答案 0 :(得分:1)
我认为这与此错误有关: http://framework.zend.com/issues/browse/ZF-1838
它已在上游修复,应在下一版本中提供。
答案 1 :(得分:-1)
我认为你可以使用数据库视图表来合并来自2个模式的数据,然后使用Zend Framework从该表中获取数据。