/**
* 查询数据
* @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. Android接口与架构(驱动开发)翻译官方文档

    Android接口与架构 Android在设备的规格与驱动方面给了你很大的自由来实现.HAL层提供了一个标准的方式来打通Android系统层与硬件层.Android系统是开源的,所以你能够在接口和性能 ...

  2. 用GO写一个连接比特币JSONRPC接口的程序

    比特币钱包默认是不开启JSONRPC接口的,要在比特币区块文件夹下新建bitcoin.conf这个文件,并写入以下内容 server=1  rpcuser=xxmm  rpcpassword=1234 ...

  3. MySQL - CentOS 下 MySQL 5.6 安装

    1. 概述 最近没啥东西可写, 随便写点 mysql 5.6 的安装 去年写的 装上去过 三次以上 2. 准备 系统 CentOS 7.4 3. 安装 1. 直接安装 # mysql服务端: mysq ...

  4. 20155231 2016-2017-2 《Java程序设计》第3周学习总结

    20155231 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 学习目标 区分基本类型与类类型 理解对象的生成与引用的关系 掌握String类和数组 理解封 ...

  5. 20155316 2016-2017-2 《Java程序设计》第1周学习总结

    学习内容总结 在linux的环境下学习怎么安git.jdk.Intellj IDEA 精读教材1.2章 课前准备部分 git的学习 学习进度 系统学习学到创建版本库-廖雪峰的官方网站 git推送学到最 ...

  6. qbxt的题:运

    运 题意: 包含4,7的数成为幸运数.给一个序列,求多少个长度为k子序列满足:不包含两个及以上的相同的幸运数.(4出现两次就是不合法的,而4,7各出现一次是合法的). 分析: 1e9内幸运数只有2^1 ...

  7. XAF.web.NewUI:如何自定义主题

    一.使用主题制作工具导出主题: 修改主题生成器工具导出的主题.改完后,导出到 App_Themes 文件夹.例如,更改 ASPxGridView 组面板和Pager面板背景色并保存更改. 使用Them ...

  8. 跟浩哥学自动化测试Selenium -- Selenium简介 (1)

    Selenium 简介 Selenium 是一款开源的web自动化测试工具,用来模拟对浏览器的操作(主要是对页面元素的操作),简单来讲,其实就是一个jar包.Selenium早期的版本比如1.0市场占 ...

  9. Kubernetes学习-相关概念

    Kubernetes架构图 上图可以看到如下组件,使用特别的图标表示Service和Label: Pod Container(容器) Label()(标签) Replication Controlle ...

  10. vs2017 asp.net FriendlyUrls 新特性

    这个包如何使用呢?其实很简单,只需将nuget包添加到项目中,再调用routes.EnableFriendlyUrls(),你就可以通过/Foo来访问/Foo.aspx了!你也能够利用URL片段将更多 ...