ThinkPHP学习笔记之Model操作

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) 验证规则:requireemail

e) 验证条件:

i. 0  字段在$_POST里边存在就验证 

ii. 1  必须验证

iii. 2  值不为空才验证

f) 附加规则:regex   in   callback


你可能感兴趣的:(ThinkPHP学习笔记之Model操作)