Как определить отношения в Zend Framework - PullRequest
3 голосов
/ 20 сентября 2010

У меня есть две простые таблицы: 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 ]

1 голос
/ 21 сентября 2010

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

protected $_referenceMap = array(
    'Project' => array(
        'columns' => 'mai_id',
        'refTableClass' => 'Admin_Model_Projects',
        'refColumns' => 'mai_id'
    )
);
0 голосов
/ 20 сентября 2010

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

...