我想显示两个相关的表格列。
我的模型如下:
class Application_Model_DbTable_Ribadocsveranstaltung extends Zend_Db_Table_Abstract
{
protected $_name = 'riba_docs';
protected $_primary = 'docid';
protected $reference_Map = array(
'riba_veranstaltung' => array(
'columns' => 'riba_veranstaltung',
'refTableClass' => 'riba_veranstaltung',
'refColumns'=>'id'
)
);
我的控制器获取所有数据:
$documents = new Application_Model_DbTable_Ribadocsveranstaltung();
$this->view->ribadocs = $documents->fetchAll();
在我看来,我有一个html表输出,我就是这样构建的(片段)
foreach($this->ribadocs as $document) :
?>
<tr>
<td class="row_<?PHP echo $i % 2;?>"><?php echo
this->escape($document->docid);?></td>
问题:我怎样才能从我的表riba_veranstalt中获取列veranstaltung而不是我的表riba_docs中的外键字段veranstaltung?我已经阅读了迄今为止我能找到的所有教程,但我没有得到满意的答案。
答案 0 :(得分:1)
好的,我有点作弊。这个解决方案当然有效:
$select=$this->select()
->setIntegrityCheck(false)
->from('riba_dokumente', array('docid','bezeichnung','quelle','typ', 'pfad', 'bemerkung'))
->join('riba_veranstaltung', 'riba_veranstaltung.id = riba_dokumente.veranstaltung', array('riba_veranstaltung.veranstaltung'));
return $this->fetchAll($select);