您现在的位置是:网站首页>软件开发>开发终端>thinkphpthinkphp

表单向数据库插入数据总结

风口下的猪2019-06-09thinkphp

简介

毋庸置疑,程序的核心是数据和性能,数据在产品设计开发过程中非常重要。

在通过表单向数据库插入数据的应用场景中,由于业务逻辑需要,往往表单提供的数据数量不是和数据表字段数量对等的。这就会出现问题,表单数据过多,会提示数据表该字段不存在;有些数据是不能通过表单传入,但又要和表单数据一起完成一次数据插入;一次表单数据要同时向多个数据表分别传入数据。

可以总结为两种情况:

(1)单大于表,使非数据表字段过滤;

例如:$user->allowField(true)->save();或者$user->allowField(['name','email'])->save();

(2)单小于表,操作一个表时:自动数据完成;

系统支持auto、insert和update三个属性,可以分别在写入、新增和更新的时候进行字段的自动完成机制,auto属性自动完成包含新增和更新操作。相当于触发器。

例如:class User extends Model

{

protected $auto = [];

protected $insert = ['ip','status' => 1];

protected $update = ['login_ip'];
protected function setIpAttr()

{

return request()->ip();

}

}

表单提交数据的核心思想

注意表单提交数据的核心思想:表单数据提交只是放到了$_POST或者$_GET等request对象中,真正实现现插入数据的是模型中方法,其通过表单递交触发了控制器中该页面方法下if(request()->isPost())后的模型方法。即

(1)表单递交,只是将数据暂时保存了起来,到request对象中;

(2)表单递交,通过request()->isPost()判断触发了该页面的方法;

(3)完成一次插入数据或多表插入数据在模型中,控制器只负责调用;

很赞哦! (0)

  • 软件开发
  • 素质要求
  • 计算机基础
  • 架构
  • 安全
  • 性能
  • 运维
  • 尾页
  • 数据库
  • 开发终端
  • 语言基础
  • 项目管理
  • 产品设计
  • 系统
  • 工作规范
  • 计算机网络
  • 前端技术栈
  • 数据结构
  • 计算机组成原理
  • 后端技术栈
  • 性能优化
  • 安全设计
  • 常见模块
  • 计算机操作系统
  • 服务器
  • python
  • MySQL
  • thinkphp
  • PHP
  • Java
  • JavaScript
  • Windows
  • Linux
  • 特效
  • indexedDB
  • vue
  • 淘宝联盟
  • Ionic
  • Angular
  • 微信小程序
  • 支付宝小程序
  • uni-app
  • css/sass/less
  • 支付
  • socket
  • 爬虫
  • web性能优化
  • 消息推送
  • CVM
  • sqlite
  • Redis
  • 前端基础
  • 基础
  • element
  • Nginx
  • yii2
  • /ponder/index.php/index/catelist/catelist/cateid/10.html

    相关阅读 (同一栏目)

    << /

    标签云

    站点信息

    • 文章统计:528篇
    • 移动端访问:扫码进入SQ3R