本文接,在前文的基础上添加删除用户功能。 效果:访问http://localhost/cakephp/users/del/ID时,会从users和user\_infos两个表删除指定ID的信息 修改users_controller.php,添加del方法:
function del()
{
$delId=(int)($this->params['pass'][0]);
if($this->User->delete($delId,true))
{//官方book里是del,api里是delete,其实在1.3版的cakephp里,应该是delete,没有del方法的,这里被困了好久
//该方法会同时删除关联的其他表的数据
$this->flash ( '删除成功', '/users/' );
}else{
$this->flash ( '删除失败', '/users/' );
}
}
修改视图模板index.php,添加删除链接:
<table>
<?php
$arrayHeader=array_keys(array_merge($allUsers[0]['User'],$allUsers[0]['UserInfo']));
$arrayHeader['del']='删除';
echo $html->tableHeaders($arrayHeader);
//生成表头,参数是一个数组,array_merge方法是把两个数组合并
foreach ($allUsers as $thisuser)
{
$arrayCell=array_merge($thisuser['User'],$thisuser['UserInfo']);
$delLink=$html->link("删除","/users/del/".$thisuser['User']['id']);
$arrayCell['delLink']=$delLink;
echo $html->tableCells($arrayCell);
//生成行,参数是数组
}
?>
</table>