当前位置: 首页 > news >正文

ThinkPHP6模型中多组条件逻辑或Or查询的使用

直接进入正题,如我们的查询条件是这样的:

(age > 20 and job_id = 3) or (sex = 1 and age < 20)

上面两组数据之间是 Or 的关系。

可使用两个闭包进行查询,代码如下:

$map1 = ['age'  => 30,'sex'       => $id,];$map2 = ['age'   => 1,'sex'     => $id,];try{$lists= Orders::where(function($query) use($map1){$query->where($map1);})->whereOr(function ($query) use ($map2){$query->where($map2);})->select();}catch (\Exception $e){echo $e->getMessage();return [];}

两份个条件组都要放到闭包里,否则会会变成: c1 and c2 or(c3 and c4); 

http://www.dtcms.com/a/155930.html

相关文章:

  • BiliNote:开源的AI视频笔记生成工具,让知识提取与分享更高效——跨平台自动生成结构化笔记,实现从视频到Markdown的智能转化
  • Shell脚本-for循环应用案例
  • 算法训练营 Day1
  • OAuth2AuthorizationEndpointFilter类介绍、应用场景和示例代码
  • 第3讲、大模型如何理解和表示单词:词嵌入向量原理详解
  • Java面试高频问题(26-28)
  • AI新战局:Gemini 2.5 Pro强势挑战OpenAI o3,谁是真“全能”?“锯齿AGI”时代已来临?
  • 中国250米土壤质地类型数据
  • 筑牢数字防线:商城系统安全的多维守护策略
  • Ubuntu18.04更改时区(图文详解)
  • 【Python数据库与后端开发】从ORM到RESTful API
  • 前端基础之《Vue(11)—自定义指令》
  • 全栈国产化信创适配,构建安全可控的呼叫中心系统
  • 【安全扫描器原理】TCP/IP协议编程
  • 力扣面试150题--环形链表和两数相加
  • 【滑动窗口+哈希表/数组记录】Leetcode 438. 找到字符串中所有字母异位词
  • C语言中操作字节的某一位
  • Pandas 数据处理:长格式到宽格式的全面指南
  • 潇洒郎:ssh 连接Windows WSL2 Linux子系统 ipv6地址转发到ipv4地址上
  • SDC命令详解:使用get_cells命令进行查询
  • 数据结构------C语言经典题目(7)
  • 【沉浸式求职学习day25】【部分网络编程知识分享】【基础概念以及简单代码】
  • C语言实现贪心算法
  • PostgreSQL技术内幕29:事件触发器tag原理解析
  • 开发者专用部署工具PasteSpider的V5正式版发布啦!(202504月版),更新说明一览
  • 厚铜PCB打样全流程解析:从文件审核到可靠性测试的关键步骤
  • 华为L410上制作内网镜像模板:在客户端配置模板内容
  • 1.10软考系统架构设计师:优秀架构设计师 - 练习题附答案及超详细解析
  • Jetpack Compose 基础组件学习2.1:Surface
  • VuePress可以做什么?