ThinkPHP项目where()中加入or的使用

先来了解Mysql and与or的使用
AND和OR可在WHERE子语句中把两个或多个条件结合起来
使用OR关键字时:
只要符合这几个查询条件的其中一个条件,这样的记录就会被查询出来。
如果不符合这些查询条件的任何一条,这样的记录将被排除。
使用AND关键字时:
需要符合所有条件,这样的记录就会被查询出来。
如果有任何一个条件不符合,这样的记录将被排除。
下面是写法:
由thinkPHP项目where()查询数据就是以AND为基础查询数据
而OR其中也给了whereOr()
但如果需要AND,OR结合查询,如where(),whereOr()

Db::table($company . ‘.vip_activity_courtesy’)
->where(‘start_time’, ‘<=’, time())
->where(‘end_time’, ‘>’, time())
->where(‘start_money’, ‘<=’, $money)
->where(‘end_money’, ‘>=’, $money)
->where(‘activity_type’, ‘支付’)
->where(‘status’, 0)
->where(‘store_all’, “”)
->whereOr(‘store_all’, null)
->select();

这样查询会出现符合where()查询的条件的数据加上whereOr()查询的数据
出现数据多余。
而想要AND,OR结合查询
d a t a O n e = D b : : t a b l e ( dataOne = Db::table(dataOne=Db::table(company . ‘.vip_activity_courtesy’)
->where(‘start_time’, ‘<=’, time())
->where(‘end_time’, ‘>’, time())
->where(‘start_money’, ‘<=’, $money)
->where(‘end_money’, ‘>=’, $money)
->where(‘activity_type’, ‘支付’)
->where(‘status’, 0)
->where(’(store_all = “” or store_all IS null)’)
->select();

感谢观看!如果喜欢,欢迎点赞?
如果有什么不懂得?请在下方评论哦!


版权声明:本文为ColaLibLi原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。