codecamp

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>

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

tpframe之删除数据
tpframe之查询数据
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

tpframe 数据库说明

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }