CakePHP 删除表中数据

本文接,在前文的基础上添加删除用户功能。
效果:访问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>

© 2012, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记