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

问题代码:

        // 作物
$crop_class_id = $request->crop_class_id;
if(!empty($crop_class_id)){
$where['crop_class_id'] = intval($crop_class_id);
}
// 标题
$title = $request->title;
if(!empty($title)){
// 这里的where获取不到like条件
$where['title'] = ['like', '%'.$title.'%'];
}

正确代码:

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

整体代码:

// 获取文章列表
// @url api/user/article?article_class_id=1&status=1&crop_class_id=1
public function index(Request $request)
{
$where = [];
// 分类
$article_class_id = $request->article_class_id;
if(!empty($article_class_id)){
$where['article_class_id'] = intval($article_class_id);
}
// 状态
$status = $request->status;
if(!empty($status)){
$where['status'] = intval($status);
}
// 作物
$crop_class_id = $request->crop_class_id;
if(!empty($crop_class_id)){
$where['crop_class_id'] = intval($crop_class_id);
}
// 标题
$title = $request->title;
if(!empty($title)){
$where[] = ['title', 'like', '%'.$title.'%'];
}
$limit = $request->input('limit');
$deviceRegionList = ArticleModel::where($where)->orderBy('id','desc')->with('user', 'article_class', 'crop_class')->paginate($limit)->toArray();
$returnData = [];
$returnData['msg'] = "查询成功";
$returnData['count'] = $deviceRegionList['total'];
$returnData['current_page'] = $deviceRegionList['current_page'];
$returnData['data'] = $deviceRegionList['data'];
return success($returnData);
}

参考连接:

  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. [MyBatis]向MySql数据库插入一千万条数据 批量插入用时6分 之前时隐时现的异常不见了

    本例代码下载:https://files.cnblogs.com/files/xiandedanteng/InsertMillionComparison20191012.rar 这次实验的环境仍然和上 ...

  2. C# List中的ForEach

    ; List<string> aaa = new List<string>(){ "aaa", "bbb" }; aaa.ForEach ...

  3. 两个input之间有空隙,处理方法

    修改css,给前边一个input添加一个左浮动.   <input id="day" type="button" value="日" ...

  4. jquery简单入门1

    前端 html:展示 form: 属性: action和method 子标签: input(10种) text password radio checkbox file submit button r ...

  5. mybatis低版本jsr310(LocalDateTime,LocalDate等) Joda Time支持

    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybati ...

  6. Java Unsigned Bytes

    Having had to use unsigned bytes for the first time, I also had to learn how Java references these d ...

  7. A股委托类型

    上海交易所于2006年8月7日启用了两种类型的市价委托,分别为:“最优五档即时成交剩余撤销”.“最优五档即时成交剩余转限价”. 深圳证券交易所启用了“对手方最优价格委托”.“本方最优价格委托”.“最优 ...

  8. Angular05 angular架构、搭建angular开发环境、组件必备三要素、angular启动过程

    1 angular架构 1.1 组件:是angular应用的基本构建模块,可以理解为一段带有业务逻辑和数据的HTML 1.2 服务:用来封装可重用的业务逻辑 1.3 指令:允许你想HTML元素添加自定 ...

  9. 拒绝LOW ---青鸟影院购票系统

    1.首先我们需要了解这个软件的功能: 1).影院每天更新放映列表,系统支持实时查看,包括电影放映场次的时间: 2).影院提供三类影票:普通票,学生票和赠票: 3).允许用户查看某场次座位的售出情况: ...

  10. 字符串写入到json文件

    背景: PHP产生公告 ,发送到CGI ,在CGI把该公告的json 字符串写入到文件内(转义后的字符串) 通过 jsoncpp 操作 int write_notice_to_json(string ...