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操作相关推荐

  1. thinkphp学习笔记7—多层MVC

    原文:thinkphp学习笔记7-多层MVC ThinkPHP支持多层设计. 1.模型层Model 使用多层目录结构和命名规范来设计多层的model,例如在项目设计中如果需要区分数据层,逻辑层,服务层 ...

  2. thinkphp学习笔记10—看不懂的路由规则

    原文:thinkphp学习笔记10-看不懂的路由规则 路由这部分貌似在实际工作中没有怎么设计过,只是在用默认的设置,在手册里面看到部分,艰涩难懂. 1.路由定义 要使用路由功能需要支持PATH_INF ...

  3. tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)

    续集请点击我:tensorflow学习笔记--使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...

  4. thinkphp学习笔记8—命名空间

    原文:thinkphp学习笔记8-命名空间 新版本(3.2)中采用命名空间的方式定义和加载类库文件,解决多个模块之间的冲突问题,并实现了更加高效的自动加载机制. 需要给类库定义所在的命名空间,命名空间 ...

  5. Keras学习笔记---保存model文件和载入model文件

    Keras学习笔记---保存model文件和载入model文件 保存keras的model文件和载入keras文件的方法有很多.现在分别列出,以便后面查询. keras中的模型主要包括model和we ...

  6. jQuery学习笔记之DOM操作、事件绑定(2)

    jQuery学习笔记之DOM操作.事件绑定(2) --------------------学习目录------------------------ 4.DOM操作 5.事件绑定 源码地址: https ...

  7. NetLogo学习笔记3 —— 集合操作与生命游戏

    NetLogo学习笔记3 -- 集合操作与生命游戏 (这篇新知识点略多) 上一篇文章我们了解NetLogo模型的基本要素,学习了函数定义与ask语法.并编写了我们的第一个程序! 这一次,我们来编写一个 ...

  8. Python3 基础学习笔记 C03【操作列表】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  9. SilverLight学习笔记--Silverlight中操作DOM元素

    在这里我们将实验一下在Silverlight中如何操作HTML的DOM元素. 首先创建Silverlight应用程序.   创建用户界面: <UserControl x:Class=" ...

最新文章

  1. 用SDM架构Cisco IOS ***图文详解全攻略(一)——easy ***
  2. tensorflow环境下的识别食物_Tensorflow object detection API 搭建属于自己的物体识别模型——环境搭建与测试...
  3. 实际体验SpanT 的惊人表现
  4. java连接mongodb的jar包_Java实战之管家婆记账系统(1)——项目简述
  5. 求1到n ,这n个整数的二进制表示比特1的个数(时间复杂度:O(n))
  6. android.hardware.Camera类及其标准接口介绍
  7. Android 高级UI设计笔记08:Android开发者常用的7款Android UI组件(转载)
  8. stack heap java_java中的Heap 和 Stack | 学步园
  9. java重命名excel_Java重命名Excel工作表并设置工作表及标签颜色
  10. java 在面板中加入标签_创建一个JTabbedPane面板,为每一个标签设置一个名称
  11. VMware虚拟机安装 windows server 2012 SQL server2012
  12. SQL Server 2016完整数据库备份的演练
  13. 创建与管理Oracle的分区表和本地索引
  14. 飞机坠落时应该主动抛弃油箱
  15. QCustomplot使用分享(一) 能做什么事
  16. 新概念下兴起域名商机 云域名是神马浮云
  17. PKI体系及密码算法
  18. 神州数码java面试
  19. 服务器拒绝mac访问共享文件,Mac怎样访问局域网共享文件
  20. 灰度发布:灰度很简单,发布很复杂

热门文章

  1. Eclipse生成jar文件
  2. 一位老工程师前辈的忠告
  3. 03-Java的基础语法
  4. LVS原理详解(3种工作方式8种调度算法)--老男孩
  5. 忽悠神经网络指南:教你如何把深度学习模型骗得七荤八素
  6. Android Studio创建项目
  7. 求大神给解释一下H3C ospf 双塔奇兵
  8. HubbleDotNet 简介 (转)
  9. JSF和Struts的区别概述
  10. 机器学习03-神经网络