本次笔记代码较少,需要记得方法很多,需要理解的地方也很多,需要更多的交流和查询手册,才能更好地学习!!
改:
update(array $data):
功能:执行数据更新,一般配合where()方法使
用;
参数:关联数组;
返回:受影响行数;
setField(string $field.,mixed $value):
功能:更新指定字段;
参数:$field:字段名;$value:字段值;
返回:受影响的行数;
查:
where(mixed $field,$op=null,
$condition=null):
功能:指定查询(更新|删除)条件,多个查询条
件,可以使用多个where()方法来指定;多个where()方法
之间是"且"的关系;
参数:
一个($field):字符串:where('id=数
字')或where('username=张三');数组:where(['id'=>数
字])或where('username'=>'张三');
两个($op):where('id',数字);where
('username','张三');操作符:eq等于,gt 大于,lt 小于
,egt 大于等于,elt 小于等于,neq 不等于....
三个($condition):where('id','=',
数字)或where('id','in',[1,2,3]);
返回:数据库对象;
whereOr(whereOr(mixed $field, $op=null,
$condition=null):多个whereOr()方法之间是"或"的关
系;
order(mixed $value):
功能:对查询结果集进行排序;
参数:字符串:"字段名 DESC";数组:['
字段名'=>'DESC'];
返回:数据库对象;
limit(查询数量):指定返回结果的数量;
limit(起始索引,查询数量);
执行原生SQL:
Db::query(查询SQL) 查;
Db::execute(原生SQL) 增删改;
Think模板引擎:=>
标签(定界符):
普通标签:用于变量输出或者注释->{$变量};
标签库标签:用于流程控制语句或者文件引入等
{if condition="条件表达式"}代码{/if} ;
自定义标签(config.php):
// 模板引擎普通标签开始标记
'tpl_begin' => '{{',
// 模板引擎普通标签结束标记
'tpl_end' => '}}',
// 标签库标签开始标记
'taglib_begin' => '{{',
// 标签库标签结束标记
'taglib_end' => '}}',
数据展示:
注释:{{//注释内容}}};{{/*多行注释*/}}
变量:
标量(数字,布尔,字符串)的展示:{{$变量
名}}
数组:{{$数组名[键]}};{{$数组名.键}};
对象:属性:{{$对象->属性名}};{{$对象.属
性名}};方法:{{$对象->方法名([参数])}};{{$对象.方
法名([参数])}};
变量调解器:
基本语法:{{$变量|变量调解的内容}};
日期转换:{{$变量|date="日期格式",###}};
大小写转换:
转成大写:{{$变量|strtoupper}};
转换成小写:{{$变量|strtolower}};
首字母大写:{{$变量|ucfirst}};
截取字符串:
{{$变量|substr=起始索引,截取长
度}};(对英文截取)
{{$变量|mb_substr=起始索引,截取长
度}};(对汉字进行截取)
声明:Think模板引擎支持"管道"的写法{{$变
量|strtolower|substr=0,3}};
保留变量:不需要进行赋值,而直接访问的变量;
$Think:
{{$Think.const.常量名}}或
{{$Think.常量名}};
{{$Think.get.参数名}};
{{$Think.post.键}};
{{$Think.session.键}};
{{$Think.cookie.键}};
{{$Think.config.配置项}};
$Request:
$Request.module 获取当前模块名称
$Request.controller 获取当前控制
器名称
$Request.action 获取当前方法名称
三目运算符:{{$变量 ? 值1:值2}};
流程控制语句:
if语句:
{{if condition="条件表达式1"}}
{{elseif condition="条件表达式
2"}}
{{else /}}
{{/if}}
foreach语句:
方式1:
{{foreach $数组 as $元素}}
// 代码
{{/foreach}}
方式2:
{{foreach name="数组" item="元
素"}}
// 代码
{{/foreach}}
volist语句:
{{volist name="数组" id="元素"
key='key' empty="数组为空时的提示消息"}}
// {{$key}} {{$元素}}
{{/volist}}
在模板调用PHP的函数:{{:函数名([参数])}}
控制器:
模板相关:
assign():
绑定单个变量:$this->assign('模板中的变
量名', PHP中的变量);
绑定多个变量:
$this->assign([
'变量名1' => $变量1,
'变量名2' => $变量2,
fetch():return $this->fetch([模板路径]);
默认路径:当前模块/view/控制器名/
方法名.html
助手函数:
位置:thinkphp/helper.php
db(string $table) 获取对象;
url('模块名/控制器名/方法名');
代码演示:=>
* 验证数据库的更新操作
* 访问路径:
* index.php/index/dbtest/update
public function update()
// 1. 获取数据库对象
// $res = db('user')
// ->where('id', '=', 1)
// ->update(['balance' => 100000000]);
// $res = db('user')
// ->where('id=1')
// ->setField('balance', 200000000);
// 递增更新
$res = db('blog')
->where('id=8')
->setInc('view');
// 递减更新
$res = db('user')
->where('id=1')
->setDec('balance', 2000000);
echo $res;
* 验证数据库查询
* 访问路径:
* index.php/index/dbtest/query
public function query()
// 查询所有的用户
$res = db('user')
->field(['id', 'username'])
->where('admin', '=', 0)
->order('create DESC')
->limit(2) // 返回2条数据
// ->select();
->buildSql(); // 返回原生SQL
// 查询一条用户信息
// $res = db('user')
// ->field("id, username, balance")
// ->find(1);
print_r($res);
* 验证Think模板引擎
* 访问路径:
* index.php/index/dbtest/tpl
public function tpl()
$hi = "hello, World";
$user = db('user')
->field("id,username,create")
->where('id', 'eq', 1)
->find();
// print_r($user);
$obj = json_decode(json_encode($user));
// print_r($obj);
// 绑定模板变量
// 模板中的变量名
// $this->assign('hello', $hi);
// $this->assign('user', $user);
// $this->assign('obj', $obj);
// assign绑定多个变量
$this->assign([
'hello' => $hi,
'user' => $user,
'obj' => $obj,
// 调用模板
return $this->fetch();