thinkphp where里如何加两个判断条件求大神!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp where里如何加两个判断条件求大神!相关的知识,希望对你有一定的参考价值。

当前我的where里有了一个

where('pid='.$prz[$c]['id'][$key]['id'] )这个判断条件,如何在里面在加一个reend=1呢!
where('pid='.$prz[$c]['id'][$key]['id'] and ‘reend=1’)这样没有用!

以下是源代码!
$product=D('Product');//产品列表数据
$prod=D('Prod');//机构列表
$prz=$prodn;
foreach ($prz as $c => $va)
$prz[$c]['id']=$prod->where('pid='.$va['id'])->select();
foreach ( $prz[$c]['id'] as $key => $value)
$prz[$c]['id'][$key]['id'] = $product->where('pid='.$prz[$c]['id'][$key]['id'] )->order("eid desc")->select();

参考技术A

where('pid='.$prz[$c]['id'][$key]['id'] )


$where = array();
$where['pid'] = $prz[$c]['id'][$key]['id'];
$where['reend'] = 1;
 $prz[$c]['id'][$key]['id'] = $product->where($where)->order("eid desc")->select();

本回答被提问者采纳
参考技术B $where=array('字段名'=>'条件1','字段名'=>'条件2');$this–>where($were)后面的就不写了追答

没注意看,把$this换成模型,你应该懂的。手机写写错了,抱歉。条件以数组的形式来写

参考技术C 最后再来个预处理 参考技术D 数组

ThinkPHP 条件是一个表里面的两个字段比较

ThinkPHP 条件是一个表里面的两个字段比较


 

今天群里有人问,thinkphp框架,条件是一个表里的两个字段,怎么查询。

然后就做了下测试:

比如查询出 手机号就是微信号 的用户:

(1)首先,正常的sql语句应该是这样的:

SELECT `id`,`name`,`tel`,`weixin` FROM `user` WHERE `tel` = `weixin`

然后在thinkphp框架中测试:

(2)当where条件是字符串时,肯定是可以的:

M(user)->where(`tel`=`weixin`)->field(id,name,tel,weixin)->select();

字段不加反引号【`】也是可以的:

M(user)->where(tel=weixin)->field(id,name,tel,weixin)->select();

(3)当where条件使用数组时,测试不可以,字段会被当做字符串,比较时转化为了0:

M(user)->where([‘tel‘=>"`weixin`"])->field(id,name,tel,weixin)->select();

打印出sql是:SELECT `id`,`name`,`tel`,`weixin` FROM `user` WHERE `tel` = 0。

 

M(user)->where([‘tel‘=>‘`weixin`‘])->field(id,name,tel,weixin)->select();

打印出sql是:SELECT `id`,`name`,`tel`,`weixin` FROM `user` WHERE `tel` = 0。

 

M(user)->where([‘tel‘=>`weixin`])->field(id,name,tel,weixin)->select();

打印出sql是:SELECT `id`,`name`,`tel`,`weixin` FROM `user` WHERE `tel` = null 。

 

结论:

使用单引号、双引号时,都会被当做字符串,比较时当做0来查询,

不用引号时,当做null来查询,

所以可以使用字符串的查询方式,数组没有查到好的解决办法,

欢迎大家指导!


 

以上是关于thinkphp where里如何加两个判断条件求大神!的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp中连贯操作,在where判断条件中不能使用Mysql内置函数,如YEAR,DAY啥的?

ThinkPHP中M方法生成语句where条件自动多加了Id

drools when写条件判断时能加循环吗?我有多个条件要进行判断,而且条件的数量未知。

sql中where 之后怎么加if条件判断

thinkphp 里sql 语句如何解读????

sql中where 之后怎么加if条件判断