Zend framework 如何在Zend框架中定义关系

Zend framework 如何在Zend框架中定义关系,zend-framework,zend-db,zend-db-table,Zend Framework,Zend Db,Zend Db Table,我有两个简单的表:Projects和SubProjects,我想将每个子项目和各自的项目打印在一个表中 所以我写了这个: class Admin_Model_Projects extends Zend_Db_Table_Abstract { protected $_name = 'main_projects'; protected $_primary = 'mai_id'; protected $_sequence = true; protected $_depe

我有两个简单的表:
Projects
SubProjects
,我想将每个子项目和各自的项目打印在一个表中

所以我写了这个:

class Admin_Model_Projects extends Zend_Db_Table_Abstract
{
    protected $_name = 'main_projects';
    protected $_primary = 'mai_id';
    protected $_sequence = true;
    protected $_dependentTables = array('Admin_Model_SubProjects');
    ....
这是:

class Admin_Model_SubProjects extends Zend_Db_Table_Abstract
{
    protected $_name = 'sub_projects';
    protected $_primary = 'sub_id';
    protected $_sequence = true;
    protected $_referenceMap = array(
        'columns' => 'mai_id',
        'refTableClass' => 'Admin_Model_Projects',
        'refColumns' => 'mai_id'
    );
    .....

我想知道为什么当我键入

时,我没有从表管理\u Model\u子项目中得到对表管理\u Model\u项目的引用,你应该在所有相关的表类中定义
$\u referenceMap
$\u dependentTables
。完成后,它看起来将接近镜像。

看起来您在
引用映射定义中缺少规则名称。
应该是

protected $_referenceMap = array(
    'Project' => array(
        'columns' => 'mai_id',
        'refTableClass' => 'Admin_Model_Projects',
        'refColumns' => 'mai_id'
    )
);