使用Map方式查询和使用数组查询的效果是相同的,并且是可以互换的。 条件查询 在查询条件里面,如果仅仅使用 $map->put('name','thinkphp'); 查询条件应该是 name = 'thinkphp' 如果需要进行其它方式的条件判断,可以使用
$map->put('name',array('like','thinkphp%')); 这样,查询条件就变成 name like 'thinkphp%' $map->put('id',array('gt',100)); 查询条件 id >100 $map->put('id',array('in','1,3,8')); // 或者使用数组范围 $map->put('id',array('in',array(1,3,8)));
上面表示的查询条件都是 id in (1,3,8)
支持的查询表达式有 EQ|NEQ|GT|EGT|LT|ELT|LIKE|BETWEEN|IN|NOT IN
区间查询 ThinkPHP支持对某个字段的区间查询,例如:
$map->put('id',array(1,10)); // id >=1 and id<=10 $map->put('id',array('10','3','or')); //id >= 10 or id <=3 $map->put('id',array(array('neq',6),array('gt',3),'and')); // id != 6 and id > 3
$map->put('id',array('neq',1)); $map->put('name','ok'); // 现在的条件是 id !=1 and name like '%ok%' $map->put('_logic','or'); // 现在的条件变为 id !=1 or name like '%ok%'