代码之家  ›  专栏  ›  技术社区  ›  Rodrigo Souza

如何在Zend框架中定义关系

  •  3
  • Rodrigo Souza  · 技术社区  · 15 年前

    我有两张简单的桌子: 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'
        );
        .....
    

    我想知道为什么 No reference from table Admin_Model_SubProjects to table Admin_Model_Projects 当我打字时 <?php echo $entry->findParentRow('Admin_Model_Projects'); ?>

    2 回复  |  直到 15 年前
        1
  •  1
  •   Vika    15 年前

    似乎您在您的 referenceMap 定义。
    应该是

    protected $_referenceMap = array(
        'Project' => array(
            'columns' => 'mai_id',
            'refTableClass' => 'Admin_Model_Projects',
            'refColumns' => 'mai_id'
        )
    );
    
        2
  •  0
  •   chelmertz user1604064    15 年前

    你应该定义 $_referenceMap $_dependentTables 在所有相关的表类中。当你完成后,它会看起来像镜子。

    推荐文章