您好,我需要幫助顯示來自2個表的數據。如何在Zend Framework中顯示來自2個相關表的數據
,所以我有2種型號:
//Klasy.php
class Model_Klasy extends Zend_Db_Table_Abstract
{
protected $_name = 'klasy';
protected $_primary = 'id';
protected $_referenceMap = array(
'Nauczyciele' => array(
'columns' => array('Wychowawca'),
'refTableClass' => 'Model_Nauczyciele',
'refColumns' => array('id')
)
);
public function listaKlas()
{
$dane = $this->select();
return $this->fetchAll();
}
}
和
//Nauczyciele.php
class Model_Nauczyciele extends Zend_Db_Table_Abstract
{
protected $_name = 'nauczyciele';
protected $_dependentTables = 'Model_Klasy';
}
在控制器具有代碼:
public function listaAction()
{
$modelLista = new Model_Klasy();
$this->view->listaKlas = $modelLista->listaKlas();
}
,並查看此:
<b>Lista Klas:</b>
<table>
<tr>
<th>Klasa</th>
<th>Rok rozpoczęcia nauki</th>
<th>Wychowawca</th>
</tr>
<tr><?php echo $this->partialLoop('partials/ListaKlas.phtml', $this->listaKlas); ?></tr>
</table>
個
和部分文件ListaKlas.phtml:
<tr>
<td><?php echo $this->nazwa; ?></td>
<td><?php echo $this->rok_rozpoczecia; ?></td>
<td>
<?php
echo $this->Wychowawca;
?>
</td>
<td style="width: 5%">
<a href="<?php echo $this->baseUrl() . '/klasy/edytuj/id/';
echo $this->id ;?>">Edytuj
</a>
</td>
<td style="width: 5%">
<a href="<?php echo $this->baseUrl() . '/klasy/usun/id/';
echo $this->id ;?>">Usuń
</a>
</td>
</tr>
從表Nauczyciele我想顯示2列,但不知道怎麼辦。我知道方法findParentRow但不知道在哪裏使用它,以及如何渲染來自第二個表的數據。在我的情況下,我只看到Klasy表中的ID。
感謝您的信息。我現在必須讀更多關於這個。在我學習ZF的書中,我寫的就像在我的例子中。我必須改變它。 – WooCaSh 2010-10-24 14:03:05
我把我的模型改成這個方法,告訴我什麼。感謝幫助 – WooCaSh 2010-10-26 14:27:13