我有一些我定义的表,如下例所示:
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 适配器,这似乎可以完美地工作(因为 2 个模式在同一台服务器上)。
像这样的代码有效:
$tableA = new TableA();
$select = $tableA->select();
// $select->__toString() outputs: SELECT * FROM `schema1`.`tablea`
但是,当我尝试将相同的模型与任何 Zend Framework 表关系函数(即:findDependantRowset() 或 findManyToManyRowset())一起使用时,查询会尝试使用默认适配器中的模式执行,而不使用适当的模式在模型类中定义。
这是一个错误吗?如何强制 ZF 使用我在表类中定义的模式,而不是在默认 Db 适配器中定义为默认模式的模式?