我正在努力熟悉Zend Framework 2.我尝试了每个组件的不同可能性。现在我正在测试viewscripts以更好地获取详细信息。麻烦的是,我不明白如何选择要删除的正确记录。我总是第一个。
我在html中有一个viewcript:
<table>
<tr>
<th>Tag</th>
<th>Datum</th>
<th>Zeit</th>
<th>Thema</th>
<th></th>
</tr>
<?php
$lodge = new Application_Model_DbTable_Arbeitskalender();
$i=1;
foreach($this->aktermine as $termin) :
?>
<tr>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $this->escape($termin->nr);?></td>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $this->day($termin->datum);?></td>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $this->date($termin->datum);?></td>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $this->escape($termin->zeit);?></td>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $this->escape($termin->thema);?></td>
<td class="row_<?PHP echo $i % 2;?>">
<a href="<?php echo $this->url(array('controller'=>'aktermine', 'action'=>'edit', 'kopfnr'=>$termin->kopfnr));?>">
<img src="Images/Icons/edit.jpg" width="16" height="16" title="Termin editieren" /></a>
</td>
<td class="row_<?PHP echo $i % 2;?>">
<a href="<?php echo $this->url(array('controller'=>'aktermine', 'action'=>'delete', 'kopfnr'=>$termin->kopfnr));?>">
<img src="Images/Icons/minus.jpg" width="16" height="16" title="Termin entfernen"/></a>
</td>
<td class="row_<?PHP echo $i % 2;?>">
<a href="<?php echo $this->url(array('controller'=>'aktermine', 'action'=>'add', 'kopfnr'=>$termin->kopfnr));?>">
<img src="Images/Icons/plus.jpg" width="16" height="16" title="neuer Termin"/></a>
</td>
</tr>
<?php
$i=$i+1;
endforeach;
?>
如果我使用删除操作,我会始终获得第一条记录。如何选择正确的记录,这是如何工作的?我有一个建议,那是因为图标。在另一个视图中,我有链接而且它有效。那么如何使用图标呢?这也是我的删除操作:
public function deleteAction()
{
if ($this->getRequest()->isPost()) {
$del = $this->getRequest()->getPost('del');
if ($del == 'Yes') {
$nr = $this->getRequest()->getPost('nr');
$aktermine = new Application_Model_DbTable_Aktermine();
$aktermine->deleteTermine($nr);
}
$urlOptions = array('controller'=>'aktermine', 'action'=>'index');
//redirector = Seitenaufruf controller, action
$this->_helper->redirector->gotoRoute($urlOptions);
} else {
$nr = $this->_getParam('kopfnr', 0);
$aktermine = new Application_Model_DbTable_Aktermine();
$this->view->aktermine = $aktermine->getTermine($nr);
}
}
答案 0 :(得分:0)
问题解决了。我的get函数中有一个(复制/粘贴)错误,我使用外键而不是主键。