【问题标题】:Zend Framework with multiple schema/databases?具有多个模式/数据库的 Zend 框架?
【发布时间】:2009-01-11 01:08:56
【问题描述】:

我定义了一些表格,如下例所示:

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 适配器中定义为默认的架构?

【问题讨论】:

  • 现在应该关闭,因为不再相关。

标签: php zend-framework zend-db-table


【解决方案1】:

我认为这与此错误有关: http://framework.zend.com/issues/browse/ZF-1838

它已经在上游修复,应该会在下一个版本中可用。

【讨论】:

  • 谢谢。如果它在 1.7.3 中修复,我将关闭它,因为不再相关。
【解决方案2】:

我认为您可以使用数据库视图表来合并来自 2 个模式的数据,然后使用 Zend Framework 从该表中获取数据。

【讨论】:

  • 你认为这比 ZF 更容易尊重我的 $_schema 输入?
猜你喜欢
  • 2010-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-23
  • 1970-01-01
  • 1970-01-01
  • 2019-09-22
相关资源
最近更新 更多