2010-09-20 2 views
3

У меня есть две простые таблицы: Projects и SubProjects, которые я хотел бы распечатать каждый подпроект с соответствующим проектом в таблице.Как определить отношения в Zend Framework

Так что я писал:

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'); ?>

ответ

1

Похоже, вы не указали название правила в своем определении referenceMap.
Должно быть

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

Вы должны определить $_referenceMap и $_dependentTables во всех связанных табличных классах. Когда вы закончите, он будет выглядеть близко к зеркалу.

Смежные вопросы