【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.'%']
    ];
  }
}
相关文章
|
iOS开发 开发者
iOS 上架报错:无法添加以供审核
iOS 上架报错:无法添加以供审核
|
JavaScript 前端开发
JS中oninput和onchange事件的区别
JS中oninput和onchange事件的区别
|
SQL 关系型数据库 MySQL
一篇文章解析mysql的 行转列(7种方法) 和 列转行
一篇文章解析mysql的 行转列(7种方法) 和 列转行
3763 0
|
存储 JSON 安全
ThinkPHP 文件上传 fileSystem 扩展的使用
本文介绍了在ThinkPHP框架中使用filesystem扩展进行文件上传的方法。包括安装filesystem扩展、了解配置文件、上传文件的验证规则以及文件上传的示例代码,旨在帮助开发者实现文件的安全上传和存储。
ThinkPHP 文件上传 fileSystem 扩展的使用
|
SQL 关系型数据库 MySQL
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
本文介绍了在ThinkPHP6框架中如何连接和使用数据库进行增删改查操作。内容包括配置数据库连接信息、使用Db类进行原生MySQL查询、find方法查询单个数据、select方法查询数据集、save方法添加数据、insertAll方法批量添加数据、insertGetId方法添加数据并返回自增主键、delete方法删除数据和update方法更新数据。此外,还说明了如何通过数据库配置文件进行数据库连接信息的配置,并强调了在使用Db类时需要先将其引入。
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
|
存储 对象存储
【阿里云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.
21440 1
【阿里云OSS】You have no right to access this object because of bucket acl.
|
安全 数据处理 数据中心
不同类型的光纤电缆及其应用特点
【10月更文挑战第22天】
885 6
|
存储 开发框架 JavaScript
Node.js实现短链接(ShortLink):shortid、epxress让URL更简单
Node.js实现短链接(ShortLink):shortid、epxress让URL更简单
738 0
Node.js实现短链接(ShortLink):shortid、epxress让URL更简单
|
Java
【Java系列】if-else代码优化的八种方案
目录 前言 优化方案一:提前return,去除不必要的else 优化方案二:使用条件三目运算符 优化方案三:使用枚举 优化方案四:合并条件表达式 优化方案五:使用 Optional 优化方案六:表驱动法 优化方案七:优化逻辑结构,让正常流程走主干 优化方案八:策略模式+工厂方法消除if else 前言 代码中如果if-else比较多,阅读起来比较困难,维护起来也比较困难,很容易出bug,接下来,本文将介绍优化if-else代码的八种方案。 优化方案一:
1160 0
【Java系列】if-else代码优化的八种方案
|
小程序 数据安全/隐私保护
Taro@3.x+Vue@3.x+TS开发微信小程序,网络请求封装
在 `src/http` 目录下创建 `request.ts` 文件,并配置 Taro 的网络请求方法 `Taro.request`,支持多种 HTTP 方法并处理数据加密。
771 0
Taro@3.x+Vue@3.x+TS开发微信小程序,网络请求封装

热门文章

最新文章