热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP封装curd,ThinkPHP5.0的模型CURD创建Create操作

模型的主要功能包括数据处理和业务逻辑,而这些都离不开数据的CURD操作,因此我们首先来谈下数据的CURD操作,在掌握了数据库Db类的用法后

模型的主要功能包括数据处理和业务逻辑,而这些都离不开数据的CURD操作,因此我们首先来谈下数据的CURD操作,在掌握了数据库Db类的用法后,模型的CURD操作就会很容易理解,因为本质上模型的CURD操作最终调用的还是Db类的操作,区别在于使用了ActiveRecord模式和单独做了一层封装而已,我们来看下两种方式CURD操作用法的简单对比(其中模型会给出动态和静态两种实现方法,分别对应不同的场景)。

c1d363a6dc12fa242de1492faa1c38f5.png

上面两种方式等效,当你的模型数据比较多不想一一赋值的时候,可以使用后者。也许你咋一看还觉得麻烦了,又是实例化又是赋值的,但好处多多,慢慢你就会体会到了,看起来是一个简单的赋值和保存操作其实内里大有乾坤,可以触发很多处理甚至事件。save方法的返回值不是自增主键的值(和Db的execute方法一样返回影响的记录数),要获取自增主键的值可以使用下面的方式:

fb47124dac33a03f820c9681da4d80a6.png

和save方法不同,create方法的返回值是User模型的对象实例,而save方法调用的时候本身就在对象实例里面。很多开发者不习惯静态调用,这里必须说明的是模型类的静态CURD操作其实都是内部自动实例化而已,所以说白了提供的这些静态操作方法只是对动态CURD操作方法的静态封装罢了。至于静态方法的场景,主要是不想实例化或者不方便实例化的需求,而且支持变量的静态调用,例如:

$model = '\app\index\model\User';

$user = $model::create([

'name' => 'thinkphp',

'email' => 'thinkphp@qq.com',

]);

创建操作用法小结:

方法返回值save(动态)影响的记录数create(静态)模型对象实例



推荐阅读
  • ThinkPHP 分页实现,thinkphp分页实现
    php教程|php手册thinkphpphp教程-php手册ThinkPHP分页实现,thinkphp分页实现开源安卓游戏源码下载,ubuntu时间设置界面,数据库连接池tomca ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 本文介绍了腾讯最近开源的BERT推理模型TurboTransformers,该模型在推理速度上比PyTorch快1~4倍。TurboTransformers采用了分层设计的思想,通过简化问题和加速开发,实现了快速推理能力。同时,文章还探讨了PyTorch在中间层延迟和深度神经网络中存在的问题,并提出了合并计算的解决方案。 ... [详细]
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
  • 本文主要复习了数据库的一些知识点,包括环境变量设置、表之间的引用关系等。同时介绍了一些常用的数据库命令及其使用方法,如创建数据库、查看已存在的数据库、切换数据库、创建表等操作。通过本文的学习,可以加深对数据库的理解和应用能力。 ... [详细]
  • gitlab重置password
    ruby没怎么学,自己搭建的gitlab的rootpassword又忘了。幸好看见此帖子,试验okhttp:roland.kierkels.netgitreset-your-git ... [详细]
  • destoon会员注册提示“数据校验失败(2)”解决方法【PHP】
    后端开发|php教程destoon,会员注册,数据校验失败,后端开发-php教程很多人在使用destoon建立一个B2B系统的时候,会在企业站注册企业用户的时候出现:“数据校验失败 ... [详细]
  • 浅谈EditText控件的inputType类型
    其中大多数是用不到的,这里总结一下常用的几种键盘效果1、numberDecimal(可以带小数点的浮点格式)只可以输入0-9数字和小数点,即只浮点数2、number(数字格式 )只 ... [详细]
  • ThinkPHP视频教程第二十五集:关联模型
    php教程|php手册thinkphp代码,代码示例,代码参考,php短信,数据库备份代码,令牌验证,去除代码中的空白和注释Thinkphpphp教程-php手册对学习Thinkp ... [详细]
  • 8PHP代码审计——thinkphp3.2.3框架信息泄露
    环境:thinkphp_3.2.3_fullphp5.6.27以上下载thinkphp3.2.2解压到http:www.tptest.com网站的根目录下并访问网址& ... [详细]
  • ThinkPHP6 核心分析:系统服务
    什么是系统服务?系统服务是对于程序要用到的类在使用前先进行类的标识的绑定,以便容器能够对其进行解析(通过服务类的 register 方法),还有就是初始化一些参数、注册路由等(不限 ... [详细]
  • 参考了这篇文章:https:segmentfault.comq1010000000473230后报错误:GettingError“Formsubmissioncanceledbec ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • ThinkPHP6关于菜单管理知识总结
    ##菜单管理页面四个功能编辑添加,删除,子菜单,返回上级菜 ... [详细]
author-avatar
农大军乐团_697
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有