位置: 编程技术 - 正文

ThinkPHP表单数据智能写入create方法实例分析(thinkphp操作数据库)

编辑:rootadmin

推荐整理分享ThinkPHP表单数据智能写入create方法实例分析(thinkphp操作数据库),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:thinkphp excel导入导出数据库,thinkphp表单提交,thinkphp5数据库操作,thinkphp操作数据库,thinkphp5数据库操作,thinkphp表单数据回显,thinkphp table,thinkphp table,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了ThinkPHP表单数据智能写入create方法。分享给大家供大家参考。具体如下:

创建数据对象 create()

除了手动构造入库的数据集之外,ThinkPHP 还提供了自动创建数据对象的 create() 方法。create() 方法将自动收集提交的表单数据并创建数据对象而无需人工干预,这在表单数据字段非常多的情况下更具优势。

将前文写入表单数据的例子用 create() 来实现:

create() 创建数据对象后,将自动收集提交过来的表单数据。而表单数据可能需要经过一定加工(例如将密码加密)才能写入数据表,所以可以对数据对象的成员属性值根据进行修改或添加去除等。

提示:create() 创建的数据对象存放于内存,在执行入库动作(add() 或 save())之前,都可以进行修改。

在上面的例子里,create()方法 的行为和 date()方法 是一致。但 date() 方法只是简单的创建数据对象,但 create() 方法还具备:

① 令牌验证② 数据自动验证③ 字段映射支持④ 字段类型检查⑤ 数据自动完成

等各种高级的数据功能,要完成这些高级数据模型功能,需要使用 D方法 实例化数据模型。ThinkPHP 提供了各种验证与填充规则供调用,具体可参见《ThinkPHP 自动验证》与《ThinkPHP 自动填充》相关文章。

ThinkPHP表单数据智能写入create方法实例分析(thinkphp操作数据库)

自动验证与自动填充

在将表单写入数据表之前,常常会有一些对数据的检测(提交的用户名是否符合要求)与处理(如例子中的密码加密以及取得当前时间戳)。create() 方法就支持数据的自动验证与自动完成。

在 LibModel 目录下创建 UserModel.class.php 文件(User 为创建的模型对象,也对应 前缀_user 表),加入自动验证和自动填充规则:

将 insert2 操作更改为:

如果提交的数据不符合验证要求(如用户名存在),则 create() 创建数据对象失败(返回 FALSE ),$Dao->getError() 会打印出自动验证设置规则里面设置的提示信息:用户名已经存在!

如果验证规则通过后,系统会进行自动填充设置,将表单密码进行 MD5 加密以及取得当前的时间戳填充入 create() 的数据对象。

所以 D方法 配合 create() 是非常智能而强大的,恰当运用可以达到事半功倍快速开发的目的。

提示:

① D 方法配合 create() 由于其功能强大,也就损失了一定的效率,在业务逻辑不复杂的情况下推荐 M方法+data() 模式

② create() 默认接受 POST 数据,若要接受其他类型数据,只需在参数内指定即可,如接受 GET 数据:create($_GET)

希望本文所述对大家基于ThinkPHP框架的php程序设计有所帮助。

PHP中把对象数组转换成普通数组的方法 最近在用ThinkPHP开发一个京东服务市场的应用,然而京东服务市场接口返回的数据是个对象数组。然而需要一个个属性取出来放到数组里面然后再利用Thi

ajax+php控制所有后台函数调用 总共分成3大部分来完成php的ajax调用逻辑,以下是大致的结构第一部分:ajax请求:主要是action这个参数,LoginController是php的类名,login是LoginController这个

php中实现用数组妩媚地生成要执行的sql语句 会不会碰到这样一种情况呢?每次获取数据将数据和历史版本都有一定的差别,然而用ThinkPHP的addAll()函数,却会将已有的数据删掉再重新写入。这明显

标签: thinkphp操作数据库

本文链接地址:https://www.jiuchutong.com/biancheng/284437.html 转载请保留说明!

上一篇:ThinkPHP数据操作方法总结(thinkphp 数据库查询)

下一篇:PHP中把对象数组转换成普通数组的方法(在php中,什么函数能将数组转化为字符串)

  • 个人所得税退还是不退好
  • 捐赠税前扣除比例表
  • 生产企业免抵退税申报步骤
  • 共享税种
  • 什么叫汇总征税
  • 一般纳税人外地预交税款怎么预缴
  • 网购商品怎么报销
  • 环保科技属于什么行业类别
  • 贷款应计利息会计分录
  • 宣传费税前扣除标准
  • 仓储部门折旧计入什么科目
  • 子公司可否将母公司注销
  • 通讯费税前扣除填报怎么填
  • 空报税怎么报
  • 印花税季度报还是月报
  • 净资产属于政府预算会计要素吗
  • 小规模企业核定征收
  • 支付境外关联方借款利息需要的
  • 继承有个人所得税吗
  • 这个月只有销项没有进项怎么申报
  • mac打印机状态暂停怎么处理
  • 职工重大疾病保险包括哪些
  • win10蓝牙搜索不到ps4手柄
  • 建造一座污水处理池投资了45万元
  • 应付票据和应收票据的关系
  • 工程竣工的条件是什么
  • 转让子公司产生的投资收益在合并层面是不是全部抵消
  • 全资子公司取得注册证可以免临床
  • thinkphp怎么用
  • php中.的作用
  • 一般纳税人零申报怎么报税
  • php字符串包含某个字符串
  • redis相关
  • vscode插件在哪
  • php 密码
  • mysql中regexp_instr函数的使用
  • 应收票据有利息收入吗
  • 工程结算期末有余额吗?
  • Spring(三)-AOP
  • 红字信息表重复开具怎么处理
  • 金税盘怎么向分盘分配发票
  • sqlserver阻止保存要求重新
  • 企业固定资产账户核算的固定资产其所有权均属于本企业
  • sqlserver数据库大小于对索引有影响吗?
  • 研发人员工资加计扣除以实发
  • 代金券抵帐怎么退款
  • 结转销售成本的分录
  • 企业设备融资是什么意思?
  • 建设期利息有哪些
  • 住房公积金的账户状态是封存是什么意思
  • 高新技术企业认定条件
  • 购入的技术服务作为成本
  • 公司给员工租的宿舍如何做分录
  • 收到专票可以不签字吗
  • 分公司需要独立核算和报税吗
  • 企业改制后如何管理
  • vs2010安装失败的解决办法
  • sql如何实现循环
  • ubuntu16连接wifi步骤
  • fs是什么文件夹
  • win7系统打开服务
  • ipcservice.dll是什么?
  • kprcycleaner.exe是什么
  • Win8系统创建VPN虚拟网络连接的技巧
  • win10如何删除windows账户
  • win7不激活怎么换壁纸
  • win8电脑键盘全部失灵怎么办
  • cocos开发android游戏
  • JavaScript中对象方法的创建
  • python accdb
  • javascript运算
  • node的express
  • 用简单的方法做好玩的手工视频教程
  • nodejs处理excel
  • java中的多态性
  • android 动态化方案
  • 安卓打包安装程序apk
  • 大连电子税务局app下载
  • 安徽公务员流程各个阶段时间
  • 什么叫发票信息对比
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设