ThinkPHP框架学习六之模型
发布时间:2020-12-15 00:19:42 所属栏目:C语言 来源:网络整理
导读: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 6
<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); //成功返回自增长主键值
?
namespce AdminController
ThinkController
?
UserController Controller
? ? ? index
? ? ? ? ?
? ? ? ? ? D
? ? ? ? ?
? ? ? ? ?
? ? ? ? ?
? ? ? ? ? ? ? 值
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ?
? ? ? ? ?
? ? ? ? ?
? ? ? ? ? dump
? ? ?
?
更新数据(Update) ?update
‘id’’name’’java部门’
?
删除数据(Delete) ?delete
‘’ ?
?
问题什么时候使用D和M示例化模型
答如果只想进行基本的增删改查的操作我们使用M‘表名’就可以完成我们的需求如果需要更复杂的操作我们就可以在模型类里面自定义方法这时候我们就只能通过D“表名”方法来实例化我们的模型类
使用query查和execute增删改可以执行原生的sql语句
?
query执行select操作 ?成功返回二维数组
execute执行增删改操作
? ? ? ? ? 删除成功返回受影响的行数
? ? ? ? ? 更新成功返回受影响的行数
? ? ? ? ? 添加也是返回受影响的行数
①select和execute的操作实例
模型的字段缓存
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
只要是不开启调试模式都会生成字段缓存(字段缓存可以单独设置关闭)。
字段缓存保存在RuntimeData_fields 目录下面
①在入口文件中关闭我们的调试模式
?
注意如果没有关闭调试模式每次对数据库的操作都会去分析表的结构是非常耗费io效率的开销如果我们关闭调试模式会直接读取我们的缓存字段
?
结论不管第一次开不开启调试模式打印模型对象的时候都会分析我们的表结构这样对我们的io开销非常大我们可以通过模型的字段定义来解决
字段定义
? ?
当我们在定义一个表模型的时候可以在模型里面通过一个属性那么这样就不会再分析我们的表结构
基本语法格式
?
? ? ? ? ?‘id’‘username’‘password’‘addtime’_PK'主键字段名
?
?
?
create();
?
?
?
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!