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'
);
}
結合されたテーブルの値を取得するにはどうすればよいですか?