问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

thinkphp框架where查询方式

发布网友 发布时间:2022-05-02 08:20

我来回答

2个回答

懂视网 时间:2022-05-02 12:41

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);

    tp框架where条件查询数据库

    标签:补充   silver   自己   str   微软雅黑   大小写   counter   order   一个   

    热心网友 时间:2022-05-02 09:49

    这说的很明显,参数传参不对。implode();不能当参数传过去,你可以提出来追问请问应该怎么写呢?

    追答就是把implode()里面包括的,把他们赋值给一个变量,然后把变量作为参数传进去

    public function userdata() {
    $companydata = Company::get(['id' => $this->loginstaff->cid]);
    $managecid=json_decode($this->loginstaff->managecid, true);
    $a = implode(',', $managecid);
    $manage=Company::where('id','in',$a)->find();
    $this->assign('manage',$manage);
    return $this->fetch(); }

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    AFK半年后回归WOW,但发现好多东西搞不清楚了,求指教,多问题高分_百度知 ... wow85级什么本可以打378的猎人饰品 落花流水(打一动物)谜底及原因 办理买房按揭贷款需要多长时间啊 一手房如何办按揭 一手房按揭贷款申请条件 怎么把微信好友转移到另一个微信号上? 高铁站没有身份证可以进站吗 京东Plus会员每月优惠券去哪领?Plus会员哪里买最便宜? 京东plus会员优惠券在哪里领?怎么用? 魔力迅白牙膏把衣服染上颜色了 维吾尔族名字哪几个字是姓 如何做好民兵整组工作中的政治工作 民兵整组工作中存在的矛盾问题及建议 浅谈如何做好民兵整组工作 迎面走过来一个男生一直斜着眼睛看着你,是什么意思? 民事诉讼案件过了答辩期怎么办?证据在开庭前什么时间交给*?能否在开庭时拿出证据还是必须开庭前就交 男生和你故意和你保持距离,斜眼看你什么意思? 在开庭前给的答辩状是否有效 男生用眼角余光瞟女生是什么意思呢? 开庭前,需要把答辩状先交上法院么 一个男的为什么总是斜眼看你,什么意思 答辩状是什么时候交? 一个男生经常斜着眼偷偷看一个女生是喜欢她吗? 可以在二审开庭时才上交答辩状给法官吗 当一个男人斜视看一个女人是什么意思 开庭后答辩状是直接交给法官还是等他问你要? 为什么用斜眼看女生 答辩状提交的利弊 答辩状 在开庭前一个星期左右交可以吗 派送中要等多久? 极兔快递派送要多久? 快递派件中多久能到 苹果相册的照片加入相簿里之后怎么让他不出现在所有照片里面? 邮局快递显示安排投递 那还要多久才能到 如何让iPhone连接电脑之后不显示照片 用我的手机登录老婆怎么登 我只知道老婆的,不知密码,怎样才能用我的手机登陆上她的微信? 怎么绑定老公的,不被他知道? 我只知道老婆的,不知密码,怎样才能用我的手机登陆上她的微信 我只知道老婆的,不知密码,怎样才能用我的手机登陆上她的微信? 最近喉咙里老是觉得有东西堵着,像有东西没吞咽下去堵在那的感觉,但是吃东西时没有感觉难下咽一切正常, 喉咙感觉有异物梗塞,吃饭喝水咽口水都有感 喉咙里咽东西感觉不舒服有东西在堵一样什么原因 我吃饭咽东西的时候,感觉喉咙里有东西难以下咽。就像有东西堵的一样,那是怎么回事呀 医生你好!我喉咙部位感觉好像有东西塞着了一样,特别是吞口水,就是很难吞下去,一喝水又没问题,我一咳 为什么每次一吃东西喉咙像有东西堵到了,咽不下去又吐不出来? 感觉喉咙里有个东西堵着似的,但是吞咽食物时没有明显阻挡,呼吸有点不顺,什么情况? 脖子咽喉部位就像有东西堵一样,咽口水都有种堵着的感觉,是怎么回事啊? 吃了东西之后,食物就像堵在喉咙一样,是食道问题么?