扫一扫浏览

tpframe-curd操作之修改数据

未结贴
0 713
yaosean未认证 2017-12-22 11:57:10
收藏

修改数据跟添加数据类似,其实是完全写在一起的,为了更能清晰的知道流程,我这里还是分开写

接着增加的数据进行修改操作

修改数据

在控制器里面添加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

然后在User逻辑里面添加listUser方法

<?php
namespace app\frontend\logic;
use \tpfcore\Core;
class User extends FrontendBase
{
	public function saveUser($data){
		// 数据验证
		$validate=\think\Loader::validate($this->name);
		$validate_result = $validate->scene('add')->check($data);
        if (!$validate_result) {    
            return [RESULT_ERROR, $validate->getError(), null];
        }
		$result=self::saveObject($data);
		if($result){
			return [RESULT_SUCCESS,"操作成功"];
		}
		return [RESULT_ERROR,"操作失败"];
	}
	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];
        }
		$result=self::saveObject($data);
		if($result){
			return [RESULT_SUCCESS,"操作成功"];
		}
		return [RESULT_ERROR,"操作失败"];
	}
	/*
        获取用户
    */
    public function listUser($where = [], $field = true, $order = '', $is_paginate = true , $join=[],$limit = DB_LIST_ROWS){
        
        $paginate_data = $is_paginate ? ['rows' => $limit] : false;

        return self::getObject($where, $field, $order, $paginate_data,$join);
    }
}

省略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>

这样就完成了一个修改的操作了

最近热帖 HOT TOPIC
【全套视频】thinkphp5视频教程 1264
thinkphp5隐藏默认模块的一些问题 1151
TPFrame框架robot模块重磅来袭,内附2.1版本 1078
教你如果处理高并发数据不同步的问题php篇 1077
tpframe安装教程 1067
tpframe新建主题 1015
slide模块发布 1004
tpframe应用目录结构 1001
thinkphp5自动完成操作,两次运行的详解 982
TPFrame 2.1 beta版本正式发布,全部插件式开发到来 939
月度热议HOT COMMENTS
tpframe 后续版本你希望有的功能是什么(分享贴) 12
关于tpframe的一点话题 6
cms插件在分类排序的时候JSON错误 6
新增的管理员没有权限操作CMS模块。 3
api接口文档插件easydoc的基本用法,快速搞定接口文档 3
thinkphp5自动完成操作,两次运行的详解 2
tpframe-curd操作之添加数据 2
tpframe能带给你的,让你快速搞定各服务端(api,pc,mobile,wechat)代码的框架 2
slide模块发布 2
透析thinkphp5升级版开发框架tpframe 2
爆料早知道:又拍云存储插件上线我有好想法