前端之家收集整理的这篇文章主要介绍了
ThinkPHP框架学习六之模型,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
<table class="PHP"><tr class="li1">
<td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
select(); //执行成功返回数据表的所有数据,返回二维数组
$model->select(‘1,3’); //
查询主键值为1,3的记录
$model->find(‘5’); //
查询id为5的记录 成功返回一维数组
创建操作(Create) insert
$model->add($arr); //成功返回自增长主键值
PHP
namespce Admin\Controller
Think\Controller
UserController Controller
index
自定义模型
D
值
PHP最屌'
添加数据,成功返回主键ID值
dump
更新数据(Update) update
‘id’’name’’java部门’
删除数据(Delete) delete
‘’ 删除主键为2,3的记录 成功返回受影响的行数
问题什么时候使用D和M示例化模型
答如果只想进行基本的增删改查的操作我们使用M‘表名’就可以完成我们的需求如果需要更复杂的操作我们就可以在模型类里面自定义方法这时候我们就只能通过D“表名”方法来实例化我们的模型类
使用query查和execute增删改可以执行原生的sql语句
query执行select操作 成功返回二维数组
execute执行增删改操作
删除成功返回受影响的行数
更新成功返回受影响的行数
添加也是返回受影响的行数
①select和execute的操作实例
模型的字段缓存
只要是不开启调试模式都会生成字段缓存(字段缓存可以单独设置关闭)。
字段缓存保存在RuntimeData_fields 目录下面
①在入口文件中关闭我们的调试模式
关闭我们的调试模式
注意如果没有关闭调试模式每次对数据库的操作都会去分析表的结构是非常耗费io效率的开销如果我们关闭调试模式会直接读取我们的缓存字段
结论不管第一次开不开启调试模式打印模型对象的时候都会分析我们的表结构这样对我们的io开销非常大我们可以通过模型的字段定义来解决
字段定义
当我们在定义一个表模型的时候可以在模型里面通过一个属性那么这样就不会再分析我们的表结构
基本语法格式
‘id’‘username’‘password’‘addtime’_PK'主键字段名
PHP可以帮助你快速地创建数据对象,最典型的应用就是自动根据表单数据创建数据对象,这个优势在一个数据表的字段非常之多的情况下尤其明显。
create();
方法收集表单数据
自动验证
自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证
错误提示,[验证条件,附加规则,验证时间]),
增加用户的体验,为了安全(js可以绕过表单验证)
自动验证,自动完成都是在模型的create()里面完成的,所以在所用这些功能必须先调用create()收集数据对象