首页是管理员列表中传参的写法:{:url('edit',array('id'=>$admin['id']))}
参数传给控制器中处理:
public function edit($id)
{
$admins = db('admin')->find($id);
if(!$admins){
$this->error('该管理员不存在!');
}
$this->assign('admin',$admins);
return view();
}
修改管理员后的处理:
public function edit($id)
{
$admins =db('admin')->find($id);
if(request()->isPost()){
$data =input('post.');
if(!$data['name']){
$this->error('管理员名称不能为空!');
}
if(!$data['password']){
$data['password'] = $admins['password'];
}else{
$data['password'] = md5($data['password']);
}
$res =db('admin')-> >update($data);
if($res !==false){ //注意这里的不恒等于false,因为当编辑没修改数据时,$res返回的是0
$this->success('修改管理员成功!',url('lst'));
}else{
$this->error('修改管理员失败!');
}
return;
}
if(!$admins){
$this->error('该管理员不存在!');
}
$this->assign('admin',$admins);
return view();
}
上面数据库更新操作是控制器层其它方法:
$admin = new AdminModel();
$res =$admin->save(['name'=>$data['name'],'password'=>$data['password']],['id'=>$data['id']]);
还可以静态方法:
$res = AdminModel::update(['name'=>$data['name'],['id'=>$data['id']]);