/**
* 查询数据
* @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的更多相关文章

随机推荐

  1. Fiddler无所不能——之测试开发攻城狮必备利器

    Fiddler无所不能——之测试开发攻城狮必备利器 1.模拟真实网络环境4g网.3g网络.2g网络.弱网.请求超时 开启弱网Rules——Performance——勾选Simulate Modem S ...

  2. python 模块路径查找 及 添加

    **** python 模块路径查找: 通过模块的__file__属性来确定: **** 模块路径添加: 方法一:函数添加1 import sys2 查看sys.path3 添加sys.path.ap ...

  3. 安装虚拟机与Linux的学习

    #虚拟机 在安装虚拟机之前,我先上网查了一些关于虚拟机的知识. 虚拟机,即Virtual Machine,在计算机科学中的体系结构裏,是指一种特殊的软件,他可以在计算机平台和终端用户之间创建一种环境, ...

  4. 20155315实验三 敏捷开发与XP实践

    实验内容 1.XP基础 2.XP核心实践 3.相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 2.完成实验.撰 ...

  5. Java 中的正则(Pattern)

    /**String 中 replaceAll(),matches(),split() 等方法,都是调用Pattern中的方法.学习了,瞬间觉得Pattern强大了 public String repl ...

  6. python与其他语言的区别

    C 和 Python.Java.C#等 C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作 其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处 ...

  7. java阻塞队列之LinkedBlockingQueue

    LinkedBlockingQueue是BlockingQueue中的其中一个,其实现方式为单向链表,下面看其具体实现.(均为JDK8) 一.构造函数 在LinkedBlockingQueue中有三个 ...

  8. python全栈开发-面向对象-初识

    python_16_day 函数总结: https://www.processon.com/view/link/5b718274e4b0555b39e1055f 面向过程的程序设计的核心是过程(流水线 ...

  9. Angular7运行机制--根据腾讯课堂米斯特吴 《Angular4从入门到实战》学习笔记分析完成

  10. Python爬虫:爬取美拍小姐姐视频

    最近在写一个应用,需要收集微博上一些热门的视频,像这些小视频一般都来自秒拍,微拍,美拍和新浪视频,而且没有下载的选项,所以只能动脑想想办法了. 第一步 分析网页源码. 例如:http://video. ...