thinkphp.txt -------------------------------thinkphp相关总结--------------------------------------前端可以用接口解析形式,也可以用模板, (1) 标签的使用 注意(或OR 与 AND)大于:gt小于:lt等于:
-------------------------------thinkphp相关总结-------------------------------------- 前端可以用接口解析形式,也可以用模板, (1)标签的使用 注意(或OR 与 AND) 大于:gt 小于:lt 等于:eq 不等于:neq 大于等于 : egt 小于等于 : elt 逻辑与(&&): AND 逻辑或(||): OR (2) 我是$is_zongdai==1或者level==1满足显示的内容
我是不满足上面条件显示的内容
与 的区别(都是循环便利) foreach对对象进行遍历输出,而volist标签通常是用于输出数组。 用法上很相似,但是volist可以很好的做分页 支持输出部分数据,例如输出其中的第5~15条记录 {$vo.name} (3)I('变量类型.变量名',['默认值'],['过滤方法']) echo I('get.id'); // 相当于 $_GET['id'] echo I('get.id',0);// 如果不存在$_GET['id'] 则返回0 (4)分配模板 $this->assign('name',$name); $this->display(); //使用模板{$name} (5)find只返回满足查询条件的第一组数据, 而select获取所有满足查询条件的记录。 (6)查看数组中是否存在这一项 ThinkPhp中的数据库增删改查 查: where方法用于数据库的查询 参数支持字符串和数组 $User = M("User"); // 实例化User对象 $User->where('type=1 AND status=1')->select(); //返回user表中type为1,status为1的所有数据 使用字符串条件的时候,建议配合预处理机制,确保更加安全 使用的时候建议:字符串预处理格式类型支持指定数字、字符串等 可以带数组: 如下: $User = M("User"); // 实例化User对象 $map['name'] = 'thinkphp'; $map['status'] = 1; // 把查询条件传入查询方法 $User->where($map)->select(); //返回name为thinkphp,status为1的所有值 表达式查询 $map['字段1'] = array('表达式','查询条件1'); $map['字段2'] = array('表达式','查询条件2'); $Model->where($map)->select(); // 也支持 查询中 find()返回一条数据(如果不存在返回一个null) select()返回一个数据集合如果不存在返回空数组 EQ 等于(=) NEQ 不等于(<>) GT 大于(>) EGT 大于等于(>=) LT 小于(<) ELT 小于等于(<=) LIKE 模糊查询 [NOT] BETWEEN (不在)区间查询 [NOT] IN (不在)IN 查询 EXP 表达式查询,支持SQL语法 可以多次调用: $map['a'] = array('gt',1); $where['b'] = 1; $Model->where($map)->where($where)->where('status=1')->select(); // 查询JSON类型字段 (info字段为json类型) M("User")->table('think_user')->where('info$.email','thinkphp@qq.com')->find(); 连贯操作: // table方法必须指定完整的数据表名 table方法也属于模型类的连贯操作方法之一,主要用于指定操作的数据表。 切换操作的数据表; 对多表进行操作; $Model->table('think_user')->where('status>1')->select(); 多表操作 $Model->field('user.name,role.title') ->table('think_user user,think_role role') ->limit(10)->select(); limit为分页(10)表示每页显示多少数据 添: 添加一条数据: $data = ['foo' => 'bar', 'bar' => 'foo']; M("User")->table('think_user')->insert($data); insert 方法添加数据成功返回添加成功的条数,insert 正常情况返回 1 添加多条数据: $data = [ ['foo' => 'bar', 'bar' => 'foo'], ['foo' => 'bar1', 'bar' => 'foo1'], ['foo' => 'bar2', 'bar' => 'foo2'] ]; Db::name('user')->insertAll($data); insertAll 方法添加数据成功返回添加成功的条数 save()添加于insert用法差不多 更新使用: Db::table('think_user') ->where('id', 1) ->update(['name' => 'thinkphp']); update 方法返回影响数据的条数,没修改任何数据返回 0 // 更新数据表中的数据 db('user')->where('id',1)->update(['name' => 'thinkphp']); // 更新某个字段的值 db('user')->where('id',1)->setField('name','thinkphp'); // 自增 score 字段 db('user')->where('id', 1)->setInc('score'); // 自减 score 字段 db('user')->where('id', 1)->setDec('score'); 删: // 根据主键删除 Db::table('think_user')->delete(1); Db::table('think_user')->delete([1,2,3]); // 条件删除 Db::table('think_user')->where('id',1)->delete(); Db::table('think_user')->where('id','<',10)->delete();