Php Zend DbTable从其他模块的引用表中获取行

Php Zend DbTable从其他模块的引用表中获取行,php,mysql,zend-framework,zend-db-table,relationships,Php,Mysql,Zend Framework,Zend Db Table,Relationships,我目前正在从事一个基于Zend framework 1.12的项目。我使用不同的模块尽可能地将事情分开。我的数据存储在mysql数据库中,所以我在项目中设置了一些db表模型。表之间的关系应由Zend框架Zend_Db_表关系处理。我在我的类中添加了必要的代码: class User_Model_DbTable_Users extends Zend_Db_Table_Abstract { protected $_name = 'users'; protected $_primary

我目前正在从事一个基于Zend framework 1.12的项目。我使用不同的模块尽可能地将事情分开。我的数据存储在mysql数据库中,所以我在项目中设置了一些db表模型。表之间的关系应由Zend框架Zend_Db_表关系处理。我在我的类中添加了必要的代码:

class User_Model_DbTable_Users extends Zend_Db_Table_Abstract
{
    protected $_name = 'users';
    protected $_primary = 'user_id';

    protected $_dependentTables = array('Diagnostics_Model_DbTable_Diagnostics');
}
User\u Model\u DbTable\u Users
是父类,在
Users
模块中定义<代码>诊断\u模型\u数据库\u诊断是引用的类,在
诊断
模块中定义

class Diagnostics_Model_DbTable_Diagnostics extends Zend_Db_Table_Abstract
{
    protected $_name = 'diagnostics';
    protected $_primary = 'diagnostic_id';

    protected $_referenceMap = array(
        'User' => array(
            'columns'   =>  array('diagnostic_user'),
            'refTableClass' =>  'User_Model_DbTable_Users',
            'refColumns'    =>  array('user_id')
        )
    );
}
当我现在尝试使用为用户行加载引用的诊断时

$row->findDiagnostics_Model_DbTable_Diagnostics()

我得到一个错误:

文件“Diagnostics\Model\DbTable\Diagnostics.php”不存在或在中找不到类“Diagnostics\u Model\u DbTable\u Diagnostics” 文件

当我将类
Diagnostics\u Model\u DbTable\u Diagnostics
移动到用户模块中并相应地重命名它时,一切正常。所以在我看来,它似乎与在不同模块中定义的类有关。我在研究中发现的所有文章都不能回答这个问题。
可能我在主
Bootstrap.php
application.ini

中缺少了一些东西,您需要引导模块。好消息:

我使用一个简单的类,如下所示:

class Diagnostics_Bootstrap extends Zend_Application_Module_Bootstrap {
     ...
}

不要启动您不需要的模块,我建议阅读

您是否在application.ini中声明了诊断名称空间?不,我没有,也没有必要。见下文。不管怎样,谢谢。我需要检查一下。当使用zf创建模块时,引导类不是自动创建的吗?不确定,我没有使用工具zf工具不会自动创建bootstrap.php。在我手动创建之后,一切都很好!谢谢