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