【ThinkPHP】like同一个字段多个条件查询

简介: 【ThinkPHP】like同一个字段多个条件查询

屏幕快照 2022-05-19 下午2.23.52.png

#代码呈现
$a = '2017,欧美,动作';
# 如果参数是这样的一点问题没有
$where['category'] = ['like','%'.$a.'%'];
$a = '2017,动作';
# 如果参数是这样的那就直接凉  因为like是全量匹配不会分开匹配
$where['category'] = ['like','%'.$a.'%'];

屏幕快照 2022-05-19 下午2.24.09.png

解决问题


我们发现了问题那么我们是不是就可以考虑一下


既然单个可以查询到 那么我们就把参数进行分割一下,分割为数组,然后进行拼接like查询


但是这个时候问题来了,很多人都是没有做过同一字段多个条件查询的


大多数的场景都是多个字段对应多个查询条件


这个时候或许就会想到用sql开始拼接 当然也可以实现,但是今天的主题不在这里


屏幕快照 2022-05-19 下午2.24.41.png

$a = '2017,欧美,动作';
$category = implode(',',$a);
foreach($category as $k => $v) {
  $where['category'] = [
    ['like','%'.$v.'%']
  ];
}


屏幕快照 2022-05-19 下午2.25.11.png

$a = '2017,欧美,动作';
$category = implode(',',$a);
$where = [];
if(count($category) === 1){
  $where['category'] = ['like','%'.$category.'%'];
}else{
  foreach($category as $k => $v) {
    $where['category'] = [
      ['like','%'.$v.'%']
    ];
  }
}
相关文章
|
前端开发
layui select 绑定onchange事件失效
layui select 绑定onchange事件失效问题处理
|
开发工具 git
git push报错:The current branch master has no upstream branch
git push报错:The current branch master has no upstream branch
41225 0
git push报错:The current branch master has no upstream branch
|
6月前
|
人工智能 算法 搜索推荐
算法备案必看:多产品≠多备案!被驳回的 “重复申请” 坑一次讲清
AI企业多产品算法备案常陷“重复申请”误区。本文揭秘:同主体、同算法仅场景不同,只需1份备案,关联多个产品即可;唯算法类型/原理不同时才需分开。附命名规范、填报要点与避坑指南,助您一次过审。(239字)
算法备案必看:多产品≠多备案!被驳回的 “重复申请” 坑一次讲清
|
4月前
|
弹性计算 Linux Go
阿里云服务器使用宝塔部署go项目(完整步骤)
本文详解Go项目在阿里云ECS上的三种部署方式:1)手动配置(安装Go环境、编译运行);2)Docker镜像化部署(本地构建+推送Docker Hub+服务器拉取运行);3)直接上传预编译二进制文件。含宝塔面板安装、安全组配置、LNMP/LAMP选型等实操步骤。(239字)
|
6月前
|
JavaScript 数据可视化 前端开发
2026 年最值得使用的 7 款 PHP 管理后台框架推荐
本文精选2026年最值得使用的7款Laravel后台框架(Nova、CatchAdmin、Filament、Backpack、Orchid、Voyager、QuickAdminPanel),从开发效率、灵活性与学习成本三维度对比分析,涵盖付费/开源、前后端分离/可视化等类型,助你快速选型企业级PHP管理后台。
1054 1
|
存储 JSON 安全
ThinkPHP 文件上传 fileSystem 扩展的使用
本文介绍了在ThinkPHP框架中使用filesystem扩展进行文件上传的方法。包括安装filesystem扩展、了解配置文件、上传文件的验证规则以及文件上传的示例代码,旨在帮助开发者实现文件的安全上传和存储。
ThinkPHP 文件上传 fileSystem 扩展的使用
|
前端开发 JavaScript 应用服务中间件
前端跨域问题解决Access to XMLHttpRequest at xxx from has been blocked by CORS policy
跨域问题是前端开发中常见且棘手的问题,但通过理解CORS的工作原理并应用合适的解决方案,如服务器设置CORS头、使用JSONP、代理服务器、Nginx配置和浏览器插件,可以有效地解决这些问题。选择合适的方法可以确保应用的安全性和稳定性,并提升用户体验。
9731 90
|
SQL 关系型数据库 MySQL
MySQL 进行 select 查询时 where 条件中 in 的value数过多却导致无记录返回
MySQL 进行 select 查询时 where 条件中 in 的value数过多返回不符合预期怎么办?会不会遇到bug了?
523 0
|
存储 对象存储
【阿里云OSS】You have no right to access this object because of bucket acl.
【阿里云OSS】You have no right to access this object because of bucket acl.
22151 1
【阿里云OSS】You have no right to access this object because of bucket acl.