Zend_Db с использованием модели объединения

Я хочу показать столбцы двух таблиц, которые связаны между собой.

введите здесь описание изображения

Мои модели выглядят следующим образом:

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>

Вопрос: Как я могу получить, например, столбец veranstaltung из моей таблицы riba_veranstaltung вместо поля внешнего ключа veranstaltung из моей таблицы riba_docs? Я прочитал все руководства, которые смог найти до сих пор, но не получил удовлетворительного ответа.


person pia-sophie    schedule 18.10.2015    source источник
comment
Вероятно, желательно переместить ваше решение в ответ и добавить свой запрос на дополнительную информацию в комментарий здесь или в этом ответе. : D   -  person David Weinraub    schedule 19.10.2015


Ответы (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);
person pia-sophie    schedule 20.10.2015
comment
Но я все же хотел бы знать, каким будет состояние искусства с моей первой попыткой. Кто-нибудь может помочь? - person pia-sophie; 20.10.2015