文件名称:复合查询-图像目标检测技术及应用
文件大小:2.49MB
文件格式:PDF
更新时间:2024-06-23 17:51:02
ThinkPHP3.1
ThinkPHP3.1 完全开发手册 156 如果你需要在查询的时候同时偶尔使用字符串却又不希望丢失数组方式的灵活的话,可以考虑使用组合查 询。 组合查询的主体还是采用数组方式查询,只是加入了一些特殊的查询支持,包括字符串模式查询(_string)、 复合查询(_complex)、请求字符串查询(_query),混合查询中的特殊查询每次查询只能定义一个,由 于采用数组的索引方式,索引相同的特殊查询会被覆盖。 一、字符串模式查询(采用_string 作为查询条件) 数组条件还可以和字符串条件混合使用,例如: 1. $User = M("User"); // 实例化 User对象 2. $map['id'] = array('neq',1); 3. $map['name'] = 'ok'; 4. $map['_string'] = 'status=1 AND score>10'; 5. $User->where($map)->select(); 最后得到的查询条件就成了: ( `id` != 1 ) AND ( `name` = 'ok' ) AND ( status=1 AND score>10 ) 二、请求字符串查询方式 请求字符串查询是一种类似于 URL 传参的方式,可以支持简单的条件相等判断。 1. $map['id'] = array('gt','100'); 2. $map['_query'] = 'status=1&score=100&_logic=or'; 得到的查询条件是:`id`>100 AND (`status` = '1' OR `score` = '100') 三、复合查询 复合查询相当于封装了一个新的查询条件,然后并入原来的查询条件之中,所以可以完成比较复杂的查询 条件组装。 例如: