zoukankan      html  css  js  c++  java
  • tp框架where条件查询数据库

    tp框架where条件查询数据库

    Where 条件表达式格式为:

    $map['字段名'] = array('表达式', '操作条件');

    其中 $map 是一个普通的数组变量,可以根据自己需求而命名。上述格式中的表达式实际是运算符的意义:

    ThinkPHP运算符 SQL运算符 对照表

    TP运算符

    SQL运算符

    例子

    实际查询条件

    eq

    =

    $map['id'] = array('eq',100);

    等效于:$map['id'] = 100;

    neq

    !=

    $map['id'] = array('neq',100);

    id != 100

    gt

    >

    $map['id'] = array('gt',100);

    id > 100

    egt

    >=

    $map['id'] = array('egt',100);

    id >= 100

    lt

    <

    $map['id'] = array('lt',100);

    id < 100

    elt

    <=

    $map['id'] = array('elt',100);

    id <= 100

    like

    like

    $map<'username'> = array('like','Admin%');

    username like 'Admin%'

    between

    between and

    $map['id'] = array('between','1,8');

    id BETWEEN 1 AND 8

    not between

    not between and

    $map['id'] = array('not between','1,8');

    id NOT BETWEEN 1 AND 8

    in

    in

    $map['id'] = array('in','1,5,8');

    id in(1,5,8)

    not in

    not in

    $map['id'] = array('not in','1,5,8');

    id not in(1,5,8)

    and(默认)

    and

    $map['id'] = array(array('gt',1),array('lt',10));

    (id > 1) AND (id < 10)

    or

    or

    $map['id'] = array(array('gt',3),array('lt',10), 'or');

    (id > 3) OR (id < 10)

    xor(异或)

    xor

    两个输入中只有一个是true时,结果为true,否则为false,例子略。

    1 xor 1 = 0

    exp

    综合表达式

    $map['id'] = array('exp','in(1,3,8)');

    $map['id'] = array('in','1,3,8');

    补充说明

    • SQL 一样,ThinkPHP运算符不区分大小写,eq EQ 一样。
    • between in 条件支持字符串或者数组,即下面两种写法是等效的:
    • $map['id'] = array('not in','1,5,8');
    • $map['id'] = array('not in',array('1','5','8'));

    exp 表达式

    上表中的 exp 不是一个运算符,而是一个综合表达式以支持更复杂的条件设置。exp 的操作条件不会被当成字符串,可以使用任何 SQL 支持的语法,包括使用函数和字段名称。

    exp 不仅用于 where 条件,也可以用于数据更新,如:

    $Dao = M("Article");

     

    // 构建 save 的数据数组,文章点击数+1

    $data['id'] = 10;

    $data['counter'] = array('exp','counter+1');

     

    // 根据条件保存修改的数据

    $User->save($data);

  • 相关阅读:
    服务器端渲染SSR的优缺点?
    Vue轻量级富文本编辑器-Vue-Quill-Editor
    浏览器跨域问题
    CSS中 !important 的使用
    如何使用vue-table-with-tree-grid的树形表格组件
    各类程序员学习路线图
    Vue中 el-table大数据量加载,不分页,节省内存的性能优化
    看完让你彻底理解 WebSocket 原理,附完整的实战代码(包含前端和后端)
    vue中class类名根据绑定的值三元表达式或字符串拼接动态添加类名
    close事件 vue_vue 监听浏览器关闭事件
  • 原文地址:https://www.cnblogs.com/lovebing/p/7755653.html
Copyright © 2011-2022 走看看