我是新来的CakePHP,我可以做一些新手的建议请。
我正在创建一个发票应用程序,我的设置方式是使用发票和项目的单独表格(以及模型和控制器)。发票表保存诸如“发票编号”、“日期”和“客户ID”等数据,而项目表则存储构成每个发票的单个记录/项目以及“数量”、“单价”等。这两个数据正确关联。
当我调用'编辑'视图为发票,显然传递一个ID,我检索记录,然后也循环通过所有相关的记录从Item表返回到-所有作品按计划,并检索和显示正确。
不过,我希望能够从这个视图中删除发票中的各个项目,方法是单击每个项目旁边的“删除”按钮,最好是带有确认框。这究竟是如何实现的?最好的方法是什么?我是否会使用Items controller中的函数在不离开页面的情况下执行此操作?如何从发票控制器/视图调用该控制器中的函数?或者会使用另一种方法,比如CakePHP query()函数来实现这一点?
我希望我已经清楚地解释了这个设置,有人能够提供任何帮助和/或建议,对此我将非常感谢。
提前谢谢
简单的方法:
在您的发票/视图中。ctp在foreach循环中,您可以执行以下操作:
//this is loose code since you have not pasted any in your question
<?php echo $this->Html->link('Delete', array('controller'=>'Item', 'action'=>'delete', $item['Item']['id'])); ?>
然后在您的ItemController.php中创建函数
function delete($id=NULL){
if($id){
$this->Item->delete($id);
$this->Session->setFlash(__('Invoice item deleted', true));
$this->redirect($this->referer());
}
}