扫一扫浏览

tpframe-curd操作之修改数据

未结贴
0 1016
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
父元素flex之后,子元素高度自适应问题 2569
thinkphp5隐藏默认模块的一些问题 2229
关于thinkphp5.0.x getshell漏洞的说明 1903
【全套视频】thinkphp5视频教程 1887
教你如果处理高并发数据不同步的问题php篇 1797
移动web资源整理,你值得收藏的干货 1777
一张纸的厚度是0.01毫米,则该纸对折30次后是多厚(据说超过珠穆朗玛峰的高度)php实现 1703
PHP如何判断字符串是否为json格式 1671
tpframe新建主题 1615
omnicore rpc api中文手册【usdt】 1590
月度热议HOT COMMENTS
tpframe 后续版本你希望有的功能是什么(分享贴) 12
关于tpframe的一点话题 6
cms插件在分类排序的时候JSON错误 6
基于tpframe v3.x 的微信公众号插件已批量上线 5
tpframe插件tcms插件v2.2已发布上线,欢迎下载使用 5
新增的管理员没有权限操作CMS模块。 3
api接口文档插件easydoc的基本用法,快速搞定接口文档 3
thinkphp5自动完成操作,两次运行的详解 2
thinkphp5隐藏默认模块的一些问题 2
tpframe-curd操作之添加数据 2
爆料早知道:Tcms微信、百度小程序、微信公众号功能已全部上线我有好想法