我目前正在开发一个基于 Zend 框架 1.12 的项目。我使用不同的模块来尽可能地保持分离。我的数据存储在 mysql 数据库中,因此我在项目中设置了一些 db 表模型。表之间的关系应该由 Zend 框架 Zend_Db_Table 关系处理。我在我的课程中添加了必要的代码:
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_Model_DbTable_Users
是父类,在Users
模块内部定义。是被引用的类,在模块Diagnostics_Model_DbTable_Diagnostics
内部定义。Diagnostics
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_Model_DbTable_Diagnostics”
当我将类移动Diagnostics_Model_DbTable_Diagnostics
到用户模块并相应地重命名它时,一切正常。所以在我看来,它似乎与在不同模块中定义的类有关。我在研究过程中发现的所有文章都无法回答这个问题。也许我在主要Bootstrap.php
或application.ini
.