TP5快速入门
2020-08-01 19:50 idea555 阅读(290) 评论(0) 收藏 举报查询
|
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
|
//order支持使用数组对多个字段的排序,例如order(['order','id'=>'desc'])//group方法只有一个参数,并且只能使用字符串。//having方法只有一个参数,并且只能使用字符串$map = [];$map[] = ['u.store_id','=',0];$map[] = ['u.reg_time','<',time()];$map[] = ['u.user_rank','in',[0,9]];$group = '';$list = Db::name('users') ->alias('u') ->field('u.user_id,u.user_name,u.store_id') ->leftJoin('order_info oi','oi.user_id=u.user_id') ->where($map) ->limit(0,10) ->group($group) ->order('id', 'desc') ->select();// 获取某个用户的积分Db::name('users')->where('id',10)->value('score');// 获取某个列的所有值Db::name('users')->where('status',1)->column('name');// 以id为索引Db::name('users')->where('status',1)->column('name,age','id');//获取用户数:Db::name('users')->count();//原生SQL查询 query方法Db::query("select * from think_user where status=1");//打印SQLecho User::fetchSql()->find(1); |
二、更新
|
1
2
3
4
5
6
|
Db::name('user') ->where('id', 1) ->update(['name' => 'thinkphp']); //原生sql执行修改、删除 execute方法Db::execute("update think_user set name='thinkphp' where status=1"); |
三、删除
|
1
2
3
|
Db::name('user') ->where('id', 1) ->delete(); |
四、插入
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
//使用Db类的insert方法向数据库提交数据$data = ['foo' => 'bar', 'bar' => 'foo'];Db::name('user')->insert($data);//添加数据后如果需要返回新增数据的自增主键,可以使用insertGetId方法新增数据并返回主键值:$userId = Db::name('user')->insertGetId($data);//添加多条数据$data = [ ['foo' => 'bar', 'bar' => 'foo'], ['foo' => 'bar1', 'bar' => 'foo1'], ['foo' => 'bar2', 'bar' => 'foo2']];Db::name('user')->insertAll($data); |
五、接受参数、跳转、重定向、判断请求类型、ajax返回、显示页面
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
//判断请求类型isGet isPost isAjax//接受参数input('get.name','','htmlspecialchars'); // 获取get变量 并用htmlspecialchars函数过滤//跳转、重定向$this->success('新增成功', 'User/list');$this->error('新增失败');$this->redirect('News/category', ['cate_id' => 2], 302, ['data' => 'hello']);//ajax返回$data = ['name' => 'thinkphp', 'status' => '1'];return json($data);//显示页面return view('home');return $this->display('home');return $this->fetch('home'); |
六、模板标签
1、Volist
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
//在模版定义如下,循环输出用户的编号和姓名:{volist name="list" id="vo"}{$vo.id}:{$vo.name}<br/>{/volist}//输出循环变量:{volist name="list" id="vo" key="k" }{$k}.{$vo.name}{/volist}//如果没有指定key属性的话,默认使用循环变量i,例如:{volist name="list" id="vo" }{$i}.{$vo.name}{/volist}//如果要输出数组的索引,可以直接使用key变量,和循环变量不同的是,这个key是由数据本身决定,而不是循环控制的,例如:{volist name="list" id="vo" }{$key}.{$vo.name}{/volist} |
2、Foreach
|
1
2
3
|
{foreach $list as $key=>$vo } {$vo.id}:{$vo.name}{/foreach} |
3、比较(eq或者 equal、neq 或者notequal、gt、egt、lt、elt、heq、nheq)
|
1
2
3
4
5
6
7
8
9
|
{eq name="name" value="value"}value{/eq}//例如:{eq name="name" value="value"} 相等{else/} 不相等{/eq}//通常比较标签的值是一个字符串或者数字,如果需要使用变量,只需要在前面添加“$”标志: 当vo对象的属性等于$a就输出{eq name="vo:name" value="$a"}{$vo.name}{/eq} |
4、比较
|
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
|
//SWITCH标签{switch 变量 } {case value1 }输出内容1{/case} {case value2}输出内容2{/case} {default /}默认情况{/switch}//使用示例:{switch User.level} {case 1}value1{/case} {case 2}value2{/case} {default /}default{/switch}//IF标签{if 表达式}value1{elseif 表达式 /}value2{else /}value3{/if}//用法示例:{if ( $name == 1) OR ( $name > 100) } value1{elseif $name == 2 /}value2{else /} value3{/if} |
5、范围(in、notin、between、notbetween)
|
1
2
3
4
5
|
{in name="id" value="1,2,3"} id在范围内{else/} id不在范围内{/in} |
浙公网安备 33010602011771号