У меня есть несколько таблиц, которые я определил, как приведенные ниже примеры:
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 использовать схему, которую я определил в классе таблицы, а не схему, определенную по умолчанию в адаптере БД по умолчанию?