ThinkPHP学习笔记之Model操作
2019独角兽企业重金招聘Python工程师标准>>>
1. 3种实例化model模型方法
a) new 命名空间GoodsModel();
b) D([“模型标志Goods”]) (之前版本会实例化自定义model对象,目前都实例化Model基类对象)
i. 没有参数实例化一个Model对象、有参数也实例化一个Model对象操作goods数据表
c) M([“模型标志Goods”])
i. 没有参数实例化一个Model对象、有参数也实例化一个Model对象操作goods数据表
2. 数据库查询及连贯操作查询
a) select()
b) select(10) 主键值等于10的记录
c) select(“20,21,22”) 主键值 in 20,21,22 的三条记录
d) find(4) 主键值等于4的记录
e) select()方法返回二维数组,find方法返回一维数组
f) 连贯操作查询方法:
g) field() where() limit() 父类Model已经定义好的方法
h) table() group() order() group() having() 统一在魔术方法__call()里边声明
i) 以上方法可以连续操作执行,使用没有顺序要求
j) $obj -> limit(5)->where(‘price>100’)->order(‘id desc’)->select();
3. 聚合函数使用
a) count() sum() max() min() avg()
b) 以上方法也是在Model的魔术方法__call()里边定义
4. 添加数据记录add()
a) 两种方式:数组、AR操作
ActiveRecord 活跃记录
AR规定了程序与数据库之间的关系
什么是AR:
① 一个数据表对应一个类model
② 一条数据记录对应类的一个对象
③ 每个字段对应该对象的具体属性
5. 修改数据信息save
a) 两种方式:数组、AR操作
b) 注意:为了修改成功必须有两个条件之一被设置
i. 信息里边有主键值id值被修改
ii. 可以通过where设置具体哪些记录被修改
6. 删除数据delete
a) $goods -> delete(10) 主键值等于10的记录信息
b) $goods -> delete(“10,12,13”) 删除三条记录主键值 in 10,12,13
c) $goods -> where(‘id>100’)->delete() id>100的记录都被删除
7. 原生sql语句执行
a) query() 执行查询语句,返回二维数组信息
b) execute() 执行增加、修改、删除,返回受影响的记录数目,返回false表示sql语句有错误,返回0表示sql语句执行前后对数据没有改变
8. 表单验证
a) 在自定义模型里边重写$_validate
b) $_validate属性定义时一个数组信息,内部每个小的单元还是一个数组
c) array(字段,验证规则,错误提示,验证条件,附加规则,验证时间)
d) 验证规则:require、email
e) 验证条件:
i. 0 字段在$_POST里边存在就验证
ii. 1 必须验证
iii. 2 值不为空才验证
f) 附加规则:regex in callback
转载于:https://my.oschina.net/DDDdragon/blog/300408
ThinkPHP学习笔记之Model操作相关推荐
- thinkphp学习笔记7—多层MVC
原文:thinkphp学习笔记7-多层MVC ThinkPHP支持多层设计. 1.模型层Model 使用多层目录结构和命名规范来设计多层的model,例如在项目设计中如果需要区分数据层,逻辑层,服务层 ...
- thinkphp学习笔记10—看不懂的路由规则
原文:thinkphp学习笔记10-看不懂的路由规则 路由这部分貌似在实际工作中没有怎么设计过,只是在用默认的设置,在手册里面看到部分,艰涩难懂. 1.路由定义 要使用路由功能需要支持PATH_INF ...
- tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)
续集请点击我:tensorflow学习笔记--使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...
- thinkphp学习笔记8—命名空间
原文:thinkphp学习笔记8-命名空间 新版本(3.2)中采用命名空间的方式定义和加载类库文件,解决多个模块之间的冲突问题,并实现了更加高效的自动加载机制. 需要给类库定义所在的命名空间,命名空间 ...
- Keras学习笔记---保存model文件和载入model文件
Keras学习笔记---保存model文件和载入model文件 保存keras的model文件和载入keras文件的方法有很多.现在分别列出,以便后面查询. keras中的模型主要包括model和we ...
- jQuery学习笔记之DOM操作、事件绑定(2)
jQuery学习笔记之DOM操作.事件绑定(2) --------------------学习目录------------------------ 4.DOM操作 5.事件绑定 源码地址: https ...
- NetLogo学习笔记3 —— 集合操作与生命游戏
NetLogo学习笔记3 -- 集合操作与生命游戏 (这篇新知识点略多) 上一篇文章我们了解NetLogo模型的基本要素,学习了函数定义与ask语法.并编写了我们的第一个程序! 这一次,我们来编写一个 ...
- Python3 基础学习笔记 C03【操作列表】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- SilverLight学习笔记--Silverlight中操作DOM元素
在这里我们将实验一下在Silverlight中如何操作HTML的DOM元素. 首先创建Silverlight应用程序. 创建用户界面: <UserControl x:Class=" ...
最新文章
- 用SDM架构Cisco IOS ***图文详解全攻略(一)——easy ***
- tensorflow环境下的识别食物_Tensorflow object detection API 搭建属于自己的物体识别模型——环境搭建与测试...
- 实际体验SpanT 的惊人表现
- java连接mongodb的jar包_Java实战之管家婆记账系统(1)——项目简述
- 求1到n ,这n个整数的二进制表示比特1的个数(时间复杂度:O(n))
- android.hardware.Camera类及其标准接口介绍
- Android 高级UI设计笔记08:Android开发者常用的7款Android UI组件(转载)
- stack heap java_java中的Heap 和 Stack | 学步园
- java重命名excel_Java重命名Excel工作表并设置工作表及标签颜色
- java 在面板中加入标签_创建一个JTabbedPane面板,为每一个标签设置一个名称
- VMware虚拟机安装 windows server 2012 SQL server2012
- SQL Server 2016完整数据库备份的演练
- 创建与管理Oracle的分区表和本地索引
- 飞机坠落时应该主动抛弃油箱
- QCustomplot使用分享(一) 能做什么事
- 新概念下兴起域名商机 云域名是神马浮云
- PKI体系及密码算法
- 神州数码java面试
- 服务器拒绝mac访问共享文件,Mac怎样访问局域网共享文件
- 灰度发布:灰度很简单,发布很复杂