Zend Framework с несколькими схемами / базами данных? - PullRequest
1 голос
/ 11 января 2009

У меня есть несколько таблиц, которые я определил, как приведенные ниже примеры:

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

Ответы [ 2 ]

1 голос
/ 15 января 2009

Я думаю, что это связано с этой ошибкой: http://framework.zend.com/issues/browse/ZF-1838

Это было исправлено в апстриме и должно быть доступно в следующей версии.

0 голосов
/ 13 января 2009

Я думаю, вы можете использовать таблицу представления базы данных для объединения данных из двух схем, а затем использовать Zend Framework для извлечения данных из этой таблицы.

...