tp3.2 来说 or 或者and 的操作可以在一个数组中用_logic 来解决
$where = ['id'=>1,'name'=>'小表','_logic'=>'or']
但是tp6的不行。
$where1 = ['id'=>1, 'name'=>'小白'];
$where2 = ['id'=>2, 'name'=>'小黑'];
$where = [$where1, $where2,'_logic'='or']
tp6的and 和 or 可以实现的方法比较多
已知:->where(A)->where(B) 俩个条件关系是 A and B
1.多字段相同的查询条件, 可以使用 |(or) 和 &(and)
Db::table('think_user')
->where('name|title','like','thinkphp%')
->where('create_time&update_time','>',0)
->find();
2.不同字段不同条件,包含 and 和or 的建议使用闭包查询。因为数组条件查询的达不到想要的效果。
where(C)->whereOR([A, B])->where(d)
A、B条件之间是或的关系,且和c是And关系,和d是or关系
只能用闭包查询文章来源:https://www.toymoban.com/news/detail-463195.html
$where = [['nickname','=', '白小白'], ['phone','=','18606995547']];
$result = Db::name('user_card')
->where(['is_delete'=>1])
->where(function($query) use ($where){$query->whereOr($where);})
->select();文章来源地址https://www.toymoban.com/news/detail-463195.html
到了这里,关于Thinkphp6 的 where 查询条件 and 和 or 的 操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!