扫一扫浏览

tpframe-curd操作之修改数据

未结贴
0 839
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隐藏默认模块的一些问题 1795
父元素flex之后,子元素高度自适应问题 1746
【全套视频】thinkphp5视频教程 1622
教你如果处理高并发数据不同步的问题php篇 1463
关于thinkphp5.0.x getshell漏洞的说明 1409
tpframe新建主题 1332
tpframe安装教程 1310
一张纸的厚度是0.01毫米,则该纸对折30次后是多厚(据说超过珠穆朗玛峰的高度)php实现 1305
TPFrame框架robot模块重磅来袭,内附2.1版本 1303
移动web资源整理,你值得收藏的干货 1289
月度热议HOT COMMENTS
tpframe 后续版本你希望有的功能是什么(分享贴) 12
关于tpframe的一点话题 6
cms插件在分类排序的时候JSON错误 6
基于tpframe v3.x 的微信公众号插件已批量上线 5
tpframe插件tcms插件v2.2已发布上线,欢迎下载使用 4
新增的管理员没有权限操作CMS模块。 3
api接口文档插件easydoc的基本用法,快速搞定接口文档 3
thinkphp5自动完成操作,两次运行的详解 2
tpframe-curd操作之添加数据 2
tpframe能带给你的,让你快速搞定各服务端(api,pc,mobile,wechat)代码的框架 2
爆料早知道:Tcms小程序功能已上线我有好想法