get_list_by_where
/**
* 查询数据
* @param $param
* @param bool $get_rows 或者总数
* @param bool $get_one 或者一条记录
* @param bool $master 是否主表查询
*/
public function get_list_by_where(array $params, $get_rows = false, $get_one = false,$master=false)
{
$this->db->from($this->table);
if (isset($params['select'])) {
if (isset($params['select_escape'])) {
$this->db->select($params['select'], false);
} else {
$this->db->select($params['select']);
}
} if($master){
$this->db->force_master();
}
if (isset($params['where']) && is_array($params['where'])) {
$this->db->where($params['where']);
} if (isset($params['where_in']) && is_array($params['where_in'])) {
$this->db->where_in($params['where_in']['key'], $params['where_in']['value']);
} if (isset($params['join'])) {
foreach ($params['join'] as $item) {
$this->db->join($item['table'], $item['where'], $item['type']);
}
}
if (isset($params['limit'])) {
if (is_array($params['limit']) && isset($params['limit']['page']) && isset($params['limit']['page_size'])) {
$this->db->limit($params['limit']['page_size'],($params['limit']['page']-1)*$params['limit']['page_size']);
} else {
$this->db->limit($params['limit']);
}
} if (isset($params['group'])) {
$this->db->group_by($params['group']);
}
if (isset($params['order'])) {
if (is_array($params['order'])) {
foreach ($params['order'] as $v) {
$this->db->order_by($v['key'], $v['value']);
}
} else {
$this->db->order_by($params['order']);
} } $result = $this->db->get();
if (!$get_one) {
return $get_rows ? $result->num_rows() : ($result->num_rows() > 0 ? $result->result_array() : array());
} else {
return $get_rows ? $result->num_rows() : ($result->num_rows() > 0 ? $result->row_array() : array());
}
}
get_list_by_where的更多相关文章
随机推荐
- [转]IA64与X86-64的区别
原文:https://www.cnblogs.com/sunbingqiang/p/7530121.html 说到IA-64与x86-64可能很多人会比较陌生.不知道你在下载系统的时候有没有注意过,有 ...
- spark 例子count(distinct 字段)
spark 例子count(distinct 字段) 例子描述: 有个网站访问日志,有4个字段:(用户id,用户名,访问次数,访问网站) 需要统计: 1.用户的访问总次数去重 2.用户一共访问了多少种 ...
- 基于MATLAB的多项式数据拟合方法研究-毕业论文
摘要:本论文先介绍了多项式数据拟合的相关背景,以及对整个课题做了一个完整的认识.接下来对拟合模型,多项式数学原理进行了详细的讲解,通过对文献的阅读以及自己的知识积累对原理有了一个系统的认识.介绍多项式 ...
- Oracle入门第一天(上)——简介与安装
一.Oracle介绍 Oracle 公司是全球最大的信息管理软件及服务供应商,成立于1977年 Oracle 公司因其复杂的关系数据库产品而闻名.Oracle的关系数据库是世界第一个支持SQL语言的 ...
- 补交 20155202 蓝墨云班课 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能
蓝墨云班课 编写MyCP.java 要求: 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX ...
- 20155223 2016-2017-2《Java程序设计》课程总结
20155223 2016-2017-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1 预备作业2 预备作业3 第一周 第二周 第三周 第四周 第五周 第六周 第七周 第八周 ...
- 【CF960G】Bandit Blues
[CF960G]Bandit Blues 题面 洛谷 题解 思路和这道题一模一样,这里仅仅阐述优化的方法. 看看答案是什么: \[ Ans=C(a+b-2,a-1)\centerdot s(n-1,a ...
- ES6 localStorage 类库
无意中看到的,记录下. 用到了es6语法.支持在js中写构造函数 class CovLocalDB { constructor (name) { this.LS = null this.name = ...
- Yii 2.0 Gridview源码分析
GridView yii\grid\GridView 作用:GridView是Yii中的一个Widget,用来展示数据表格.有排序,分页和过滤功能. GridView默认界面如下.这是用Gii生成的. ...
- Spark 序列化问题
在Spark应用开发中,很容易出现如下报错: org.apache.spark.SparkException: Task not serializable at org.apache.spark.ut ...