问题描述:laravel where 条件拼接 Like出错,搜索不到要搜索的内容。

问题代码:

  1. // 作物
  2. $crop_class_id = $request->crop_class_id;
  3. if(!empty($crop_class_id)){
  4. $where['crop_class_id'] = intval($crop_class_id);
  5. }
  6. // 标题
  7. $title = $request->title;
  8. if(!empty($title)){
  9. // 这里的where获取不到like条件
  10. $where['title'] = ['like', '%'.$title.'%'];
  11. }

正确代码:

  1. // 作物
  2. $crop_class_id = $request->crop_class_id;
  3. if(!empty($crop_class_id)){
  4. $where['crop_class_id'] = intval($crop_class_id);
  5. }
  6. // 标题
  7. $title = $request->title;
  8. if(!empty($title)){
  9. // 如果拼接where条件存在比较符号,则不能指定key
  10. $where[] = ['title', 'like', '%'.$title.'%'];
  11. }

整体代码:

  1. // 获取文章列表
  2. // @url api/user/article?article_class_id=1&status=1&crop_class_id=1
  3. public function index(Request $request)
  4. {
  5. $where = [];
  6. // 分类
  7. $article_class_id = $request->article_class_id;
  8. if(!empty($article_class_id)){
  9. $where['article_class_id'] = intval($article_class_id);
  10. }
  11. // 状态
  12. $status = $request->status;
  13. if(!empty($status)){
  14. $where['status'] = intval($status);
  15. }
  16. // 作物
  17. $crop_class_id = $request->crop_class_id;
  18. if(!empty($crop_class_id)){
  19. $where['crop_class_id'] = intval($crop_class_id);
  20. }
  21. // 标题
  22. $title = $request->title;
  23. if(!empty($title)){
  24. $where[] = ['title', 'like', '%'.$title.'%'];
  25. }
  26. $limit = $request->input('limit');
  27. $deviceRegionList = ArticleModel::where($where)->orderBy('id','desc')->with('user', 'article_class', 'crop_class')->paginate($limit)->toArray();
  28. $returnData = [];
  29. $returnData['msg'] = "查询成功";
  30. $returnData['count'] = $deviceRegionList['total'];
  31. $returnData['current_page'] = $deviceRegionList['current_page'];
  32. $returnData['data'] = $deviceRegionList['data'];
  33. return success($returnData);
  34. }

参考连接:

  1. https://www.cnblogs.com/djwhome/p/9176338.html

Laravel where条件拼接,数组拼接where条件的更多相关文章

  1. js数组去重 数组拼接 替换数组中的指定值 递归数组 判断数组中是否存在指定值 数组求和 根据条件判数组值

    这是学习过程中记录的一些关于数组操作的常用属性或方法,记录一下方便以后使用. // 数组去重 var arr1 = [1,1,2,3,4,5,6,3,2,4,5,'a','b','c','a',6,7 ...

  2. php部分--例子:租房子(复选框的全选、数组拼接成字符串、设置复选框的name值、)

    1.链接数据库 <?php include("DBDA.class.php"); $db=new DBDA(); $sql="select * from fangz ...

  3. Java基础知识强化44:StringBuffer类之把数组拼接成指定格式的字符串的案例

    1. 先看案例代码如下: package cn.itcast_07; /* * 把数组拼接成一个字符串 */ public class StringBufferTest2 { public stati ...

  4. PHP 数组拼接成字符串

    PHP[知识分享] 数组拼接成字符串 <?php // 格式: [二维数组] Array ( [0] => Array ( [topicid] => 1 ) [1] => Ar ...

  5. python numpy 数组拼接

    我就写一下我遇到的,更多具体的请看Python之Numpy数组拼接,组合,连接 >>> aarray([0, 1, 2],       [3, 4, 5],       [6, 7, ...

  6. numpy库数组拼接np.concatenate的用法

    concatenate功能:数组拼接 函数定义:numpy.concatenate((a1, a2, ...), axis=0, out=None)

  7. 当update的查询条件是数组的时候,upsert会失效

    不管是findOneAndUpdate还是update方法,只要他们的查询条件是数组,upsert就会失效,比如: //这段代码只会更新已存在的数据,不存在的不会插入 tagModel.update( ...

  8. numpy数组 拼接

    转载自:https://blog.csdn.net/zyl1042635242/article/details/43162031 数组拼接方法一 首先将数组转成列表,然后利用列表的拼接函数append ...

  9. js 数组 添加或删除 元素 splice 创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素 filter

    里面可以用 箭头函数 splice         删除 增加 数组 中元素 操作数组 filter 创建新数组  检查指定数组中符合条件的所有元素

  10. 【Matlab开发】matlab删除数组中符合条件的元素与散点图绘制

    [Matlab开发]matlab删除数组中符合条件的元素与散点图绘制 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ matlab删除数组中符合条件的元素 如 ...

随机推荐

  1. 省份-城市-区域三级联动【struts2 + ajax +非数据库版】

    package loaderman; /** * 实体,封装省份和城市 */ public class Bean { private String province;//省份 private Stri ...

  2. 5.Linux文件权限

    Linux用户类别 root:这是系统特权用户类,他们都有访问root登录账号的权限 owner:这是实际拥有文件的用户 group:这是共享文件的组访问权的用户类的用户组名称 world:这是不属于 ...

  3. k-means聚类分析范例程序

    K-Means聚类算法原理参考以下链接: https://www.cnblogs.com/pinard/p/6164214.html 2. 传统K-Means算法流程 在上一节我们对K-Means的原 ...

  4. DRF视图-5个扩展类以及GenericAPIView基类

    视图 5个视图扩展类 视图拓展类的作用: 提供了几种后端视图(对数据资源进行曾删改查)处理流程的实现,如果需要编写的视图属于这五种,则视图可以通过继承相应的扩展类来复用代码,减少自己编写的代码量. 这 ...

  5. 如何简单的编译v8动态库

    按照google v8的官方提供的方法,在国内,完成编译简直太难了. 还好nodejs提供离线编译能力,稍微改造一下可以从node源码中直接编译纯净的v8动态库. 直接把v8解压出来的py/gpy文件 ...

  6. MySQL知识篇-SQL2

    1 数据库基本操作? (1) 查看数据库 show databases; (2)切换到指定的数据库 use dbname; (3)创建数据库 create database 库名 charset=ut ...

  7. Go语言入门篇-JSON&http调用

    一.Decoder /(一)Decoder func DecoderExample(){ const jsonStream = ` { "Name" : "Ed" ...

  8. SQL ----- JDBC 用ID查询某条记录

    package demo; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; ...

  9. freeRTOS学习一

    freeRTOS中的链表结构: /* * Definition of the only type of object that a list can contain. 链表中的节点 */ struct ...

  10. NLP 对抗方法整理

    NLP中对抗应用 1. 分词 , 可以用GAN来做,消除不同分词器的差异性 2. 风格迁移, 这个在图像中应用较多,在NLP中同样可行 3. 提高问答系统/阅读理解的性能. 4. 机器翻译应该也可以做 ...