跟老姚学前端,课程体系更完善,10%基础 + 90%实战演练,快人一步学编程

扫一扫浏览

tpframe-curd操作之修改数据

未结贴
0 5359
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视频教程 85788
父元素flex之后,子元素高度自适应问题 10855
一张纸的厚度是0.01毫米,则该纸对折30次后是多厚(据说超过珠穆朗玛峰的高度)php实现 9849
thinkphp5隐藏默认模块的一些问题 9319
api接口文档插件easydoc的基本用法,快速搞定接口文档 9268
omnicore rpc api中文手册【usdt】 9087
PHP如何判断字符串是否为json格式 9003
教你如果处理高并发数据不同步的问题php篇 8941
关于thinkphp5.0.x getshell漏洞的说明 8668
使用宝塔linux面板创建FTP无法连接的解决办法(阿里云或腾讯云) 8440
月度热议HOT COMMENTS
【全套视频】thinkphp5视频教程 70
tpframe 后续版本你希望有的功能是什么(分享贴) 12
权限那里怎么一登录别的账号就报错啊 9
关于tpframe的一点话题 6
cms插件在分类排序的时候JSON错误 6
基于tpframe v3.x 的微信公众号插件已批量上线 5
tpframe插件tcms插件v2.2已发布上线,欢迎下载使用 5
tpframe6.0马上就要跟大家见面了,一次全新的升级 5
透析thinkphp5升级版开发框架tpframe 3
新增的管理员没有权限操作CMS模块。 3
爆料早知道: