在项目开发的过程中;有时候会有多个参数 去用在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. PAT1063. Set Similarity (25)

    来自http://blog.csdn.net/tiantangrenjian/article/details/16868399 set_intersection 交集  set_union 并集  s ...

  2. Android开发-Android Studio安装

    开发平台:Windows 7 旗舰版,SP1 开发工具:Android Studio1.2正式版 1.打开http://www.androiddevtools.cn/ ,找到Android Studi ...

  3. python time 和 datetime 模块的简介

    时间处理 time 和 datetime import timeimport datetimeprint time.time() #时间戳显示为1508228106.49print time.strf ...

  4. MVC3;0问题与知识点

        1.    代码中@Html.BeginForm不对,应 @using(Html.BeginForm){}   2.   不设置 注解 required属性中的 errormessage,则错 ...

  5. Hibernate中Hql查询

    这篇随笔将会记录hql的常用的查询语句,为日后查看提供便利. 在这里通过定义了三个类,Special.Classroom.Student来做测试,Special与Classroom是一对多,Class ...

  6. HTTP请求常用状态码

    常见的http请求响应的状态码 一些常见的状态码为: 200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务不可用 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状 ...

  7. Java.lang包的接口解读

    Java.lang包中提供了八个接口: 1.Appendable 能够被追加 char 序列和值的对象.如果某个类的实例打算接收来自 Formatter的格式化输出,那么该类必须实现 Appendab ...

  8. 图解MySQL 内连接、外连接、左连接、右连接、全连接

    用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...

  9. Python基础学习(第3天)

    第6课 循环 1.for 元素 in 序列: statement Python的新函数range():新建一个数列,都是整数,从0开始,下一个元素比上一个元素大1,一直到数列的上限(不包括上限).PS ...

  10. warning MSB8004: Output Directory does not end with a trailing slash.

    当在VC里编译时,发现这个警告,就是说设置的目录参数不是以反斜杠结束的目录名称,如下: 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V ...