在项目开发的过程中;有时候会有多个参数 去用在where查询中;那么这里的where语句是可能有也可能没有的

1.用原生的mysql语句来实现

private function getData($type, $status, $data_id, $start_time, $end_time, $size, $page, $id)
{
$type = trim($type);
$status = trim($status);
$data_id = trim($data_id);
$start_time = strtotime(trim($start_time)); // 转换为uninx时间戳
$end_time = strtotime(trim($end_time));
$size = trim($size);
$page = trim($page);
$id = trim($id); $where = ' where 1=1';
if ($type) {
$where .= " AND dp.task_type = $type";
}
if ($status) {
$where .= " AND d.data_status = $status";
}
if ($data_id) {
$where .= " AND d.id = '$data_id'";
}
if ($start_time) {
$where .= " AND d.dial_time >= $start_time";
}
if ($end_time) {
$where .= " AND d.dial_time <= $end_time";
}
if ($id) {
$where .= " AND b.id = $id";
} $sql = "SELECT d.id,d.dial_time,d.time_len,d.record,d.called_phone FROM a_data as d LEFT JOIN a_data_packet as dp ON d.data_packet_id = dp.id LEFT JOIN a_business as b ON dp.business_id = b.id ";
$sql .= $where;
$sql .= ' order by dial_time desc';
$sql .= " limit ".($page-1)*$size.", $size"; // 偏移量,每一页显示几条
$res = DB::select($sql); return $res;
}

2.用laravel的where语句来实现

private function getExtData($status, $data_id, $all_extract)
{
$db = \AiBusiness\Models\Data::select('id', 'dial_time','time_len', 'kh_phone')->where('data_status', $status);
if ($all_extract == 1) {
if ($data_id) {
$db->whereIn('id', $data_id);
}
}
$extract_data = $db->get(); return $extract_data;
}

laravel中有条件使用where的更多相关文章

  1. laravel 带条件的分页查询

    laravel 带条件的分页查询, 原文:http://blog.csdn.net/u011020900/article/details/52369094 bug:断点查询,点击分页,查询条件消失. ...

  2. Laravel where条件拼接,数组拼接where条件

    问题描述:laravel where 条件拼接 Like出错,搜索不到要搜索的内容. 问题代码: // 作物 $crop_class_id = $request->crop_class_id; ...

  3. php laravel 多条件筛选

    效果如图,点击的条件出现在已选择的地方,点击已选择的条件可以删除当前点击的条件 语言是php 框架是laravel. 一.html <div class="doctor-conditi ...

  4. laravel多条件查询,及分页

    $res = DtkModel::where('ID','>','1')->select("ID")->get()->paginate(20);//不成立 ...

  5. laravel带条件查询手动分页

    后台php代码: //手动分页 $users = $kaoqin; //打算输出的数组,二维 $perPage = 10; if ($request->has('page')) { $curre ...

  6. laravel 中条件查询 function模式

    当需要条件查找时,可以使用下面的注入方法: //我要预约 yudoc_name yudoc_keshi yudoc_jibing yudoc_hospital 这是需要帅选的条件 public fun ...

  7. mybatis报错:sql中有条件语句时出现属性没有getter的异常

    Mybatis问题:在使用条件语句动态设置SQL语句时出现如下错误 Caused by: org.apache.ibatis.reflection.ReflectionException: There ...

  8. Laravel 多条件搜索查询

    做查询功能时,输入的关键词有的为空,有的有值,如何实现多功能查询呢?这里介绍一种方法.(基于laravel) 原理很简单,第一步:判断接收的值,第二步:写查询语句.具体实现如下: //首先,创建句柄: ...

  9. mysql中有条件的插入语句

    今天在参加笔试的过程中,看到一道题,大概意思就是说,当满足了条件就执行插入语句,当时就蒙了,之前从来都没有考虑过满足条件才插入的情况,所以一直都是这样写的 insert into table_name ...

随机推荐

  1. RabbitMQ 之 WorkQueues工作队列

    模型图 为什么会出现 work queues? 前提:使用 simple 队列的时候 (上一篇博客)我们应用程序在是使用消息系统的时候,一般生产者 P 生产消息是毫不费力的(发送消息即可),而消费者接 ...

  2. NumPy IO文件操作

    NumPy - IO ndarray对象可以保存到磁盘文件并从磁盘文件加载. 可用的 IO 功能有: load()和save()函数处理 numPy 二进制文件(带npy扩展名) loadtxt()和 ...

  3. Spring scope解惑

    在2.0之前只有两种singleton和prototype(网上说的,没去验证),后面增加了session.request.global session三种专门用于web应用程序上下文的Bean Si ...

  4. WPF 通过 CommandParameter 传递当前窗体到 ViewModel

    在应用 Command 模式中,需要在View上点击 一个按钮,需要将当前窗体作为参数传递为 command 两种方式传递当前窗体1.通过窗体名称(假设窗体名称为 ThisWindow)   < ...

  5. 四十一 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)基本的索引和文档CRUD操作、增、删、改、查

    elasticsearch(搜索引擎)基本的索引和文档CRUD操作 也就是基本的索引和文档.增.删.改.查.操作 注意:以下操作都是在kibana里操作的 elasticsearch(搜索引擎)都是基 ...

  6. IOS-KVO、KVC

    √  概述 KVC/KVO是观察者模式的一种实现,在Cocoa中是以被万物之源NSObject类实现的NSKeyValueCoding/NSKeyValueObserving 非正式协议的形式被定义为 ...

  7. js数组排序sort()方法

    一.sort方法升序: <script> var arr=[1,15,10,3,56]; arr.sort(function(num1,num2){ return num1-num2; } ...

  8. http keep - alive 与 长连接

    http1.0 2.0 1.1区别 你可以把 WebSocket 看成是 HTTP 协议为了支持长连接所打的一个大补丁,它和 HTTP 有一些共性,是为了解决 HTTP 本身无法解决的某些问题而做出的 ...

  9. pgbench使用记录

    1.初始化: pgbench -i pgbench 如果端口号有变化,需要先手动创建数据库,再执行. pgbench -i -s 10 -p 5433 pgbench 重点:主要用到两个参数,-i:初 ...

  10. oracle的序列号(sequence)

    oracle的自增列,要采用序列号(sequence). 初始化阶段要手动建立一个sequence,然后插入的时候,还要手动自己去读这个sequence的nextval赋给相关字段,如ID,麻烦的很. ...