tpframe之修改数据
修改数据跟添加数据类似,其实是完全写在一起的,为了更能清晰的知道流程,我这里还是分开写
接着增加的数据进行修改操作
一、修改控制器
在控制器里面添加edit操作
<?php namespace app\frontend\controller; use \tpfcore\Core; class User extends FrontendBase { public function add() { IS_POST && $this->jump(Core::loadModel($this->name)->saveUser($this->param)); return $this->fetch("add"); } public function edit(){ IS_POST && $this->jump(Core::loadModel($this->name)->editUser($this->param)); return $this->fetch("edit",[ "list"=>Core::loadModel($this->name)->listUser($this->param) ]); } }
这里跟添加差不多,主要是查询要修改的那句,为了展示我要修改的是哪条语句,当然你要传递要修改的数据主键跟对应的值过来,例如id=1
二、服务层代码
<?php // +---------------------------------------------------------------------- // | Author: yaoyihong <510974211@qq.com> // +---------------------------------------------------------------------- namespace app\frontend\service;
use app\common\service\ServiceBase;
use \tpfcore\Core;
/**
* 基础服务
*/
class User extends FrontendBase
{
public function editUser($data){
// 在进行数据操作前进行数据验证
$validate=\think\Loader::validate($this->name);
$validate_result = $validate->scene('edit')->check($data);
if (!$validate_result) {
return [RESULT_ERROR, $validate->getError(), null];
}
return Core::loadModel($this->name)->saveObject($data);
}
public function listUser($data){
return Core::loadModel($this->name)->listUser($data);
}
}
三、逻辑层
<?php namespace app\common\logic; use \tpfcore\Core; class User extends LogicBase { public function saveUser($data){ $result=self::saveObject($data); if($result){ return [RESULT_SUCCESS,"操作成功"]; } return [RESULT_ERROR,"操作失败"]; } / 获取用户 / public function listUser($data){
return self::getList($data);
}
}
省略edit场景验证.....
四、视图层
视图层拿来要修改的数据填充
<!DOCTYPE html> <html> <head> <title>添加用户</title> </head> <body> <form method="post" action="{:url('User/edit')}"> <input type="hidden" name="id" value="{$list[0]->id}" /> <input type="text" name="username" value="{$list[0]->username}" /><br/> <input type="password" name="password" value="{$list[0]->password}" /><br/> <input type="submit" value="操作操作"/> </form> </body> </html>
这样就完成了一个修改的操作了