Zend_Db_Select не разрешит значения столбцов из объединенных таблиц - PullRequest
0 голосов
/ 11 августа 2011

У меня проблема с получением Zend_Db_Select для получения значений столбцов из объединенных таблиц. Например, это соединение работает:

$select->from(array('a' => 'files'), array('fil_last_name','fil_first_name','fil_middle_name'))               
       ->join(array('b' => 'origination_offices'), 'a.fil_oof_id_fk = b.oof_id_pk', array());

но это не работает:

$select->from(array('a' => 'files'), array('fil_last_name','fil_first_name','fil_middle_name'))               
       ->join(array('b' => 'origination_offices'), 'a.fil_oof_id_fk = b.oof_id_pk', array('oof_name'));

и это не:

$select->from(array('a' => 'files'), array('fil_last_name','fil_first_name','fil_middle_name'))               
       ->join(array('b' => 'origination_offices'), 'a.fil_oof_id_fk = b.oof_id_pk');

Классы DbTable выглядят так:

class Application_Model_DbTable_Files extends Zend_Db_Table_Abstract {

    protected $_name            = 'files';
    protected $_primary         = 'fil_id_pk';

    protected $_dependentTables =  array(
        'Application_Model_DbTable_NnFilesTags'
    );

    protected $_referenceMap    =  array(
        'refProjects' => array(
            'columns'       =>  array('fil_pro_id_fk'),
            'refTableClass' => 'Application_Model_DbTable_Projects',
            'refColumns'    =>  array('pro_id_pk')
        ),

        'refOriginationOffices' => array(
            'columns'       =>  array('fil_oof_id_fk'),
            'refTableClass' => 'Application_Model_DbTable_OriginationOffices',
            'refColumns'    =>  array('oof_id_pk')
        ),

        'refResponses' => array(
            'columns'       =>  array('fil_res_id_fk'),
            'refTableClass' => 'Application_Model_DbTable_Responses',
            'refColumns'    =>  array('res_id_pk')
        ),

        'refZipCodes' => array(
            'columns'       =>  array('fil_zip_code_fk'),
            'refTableClass' => 'Application_Model_DbTable_ZipCodes',
            'refColumns'    =>  array('zip_code_pk')
        ),

        'refBoxes' => array(
            'columns'       =>  array('fil_box_id_fk'),
            'refTableClass' => 'Application_Model_DbTable_Boxes',
            'refColumns'    =>  array('box_id_pk')
        )
    );
}

class Application_Model_DbTable_OriginationOffices extends Zend_Db_Table_Abstract {

    protected $_name            = 'origination_offices';
    protected $_primary         = 'oof_id_pk';

    protected $_dependentTables =  array(
        'Application_Model_DbTable_Files'
    );
}

Что мне нужно сделать, чтобы получить значения в объединенной таблице?

...