/**
* 查询数据
* @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 studio 插件开发(自动生成框架代码插件)

    android studio 插件开发 起因 去年公司开始上新项目,正好android在架构这方面的讨论也开始多了起来,于是mvp架构模型就进入我们技术选择方案里面,mvp有很多好处,但是有一个非常麻 ...

  2. Hadoop HA高可用集群搭建(2.7.2)

    1.集群规划: 主机名        IP                安装的软件                            执行的进程 drguo1  192.168.80.149 j ...

  3. 【原创】user.id字段

    odoo中User.ID 字段是用户登录表 res_users 中的字段,所以要关联某个用户或是判断某个用户,可以利用该字段. 例如:在某个 界面中的domain中,要求显示的是关联某用户的单子,则如 ...

  4. BZOJ2039_employ人员雇佣_KEY

    题目传送门 网络流,求最小割. 设tot为所有盈利的和,即所有人(不花钱)雇佣. 对于S->i建一条容量为c[i]的边,i->j建一条S[i][j]*2的边,之所以这样建是因为如果不选这个 ...

  5. day 14 元组

    1. 使用场景? # 列表list 数据类型相同, #rwx文件 100个人的名字, # 用字典 dict ['dɪkt] 很多信息描述1个人, # tuple [ˈtʌpəl] #只读文件 不能修改 ...

  6. idea里绝对不要直接复制文件到项目中的另一处

    否则那样会将使用被复制文件的那些地方 文件名会变成复制后的那个 而路径是原来的 所以会导致找不到文件 所以绝对不要直接复制文件或者包或者目录到项目中的另一处 需要时应该新建文件 把代码复制进去 这种事 ...

  7. LUA对象

    Rectangle = {width = , height = , area = }; function Rectangle:new(o, width, height) o = o or {}; se ...

  8. abp 指定方法不生成api

    方法上面添加RemoteServiceAttribute特性

  9. javaweb(十一)——使用Cookie进行会话管理

    一.会话的概念 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾 ...

  10. exe4j 使用记录(二):jar打包exe

    一.环境 exe4j: 6.0.2 jre(32位): 1.8 二.打包过程 1.新建一个文件夹testExe(我的目录位置:D:\testExe)用来存放所需要打成exe的jar包.jdk或者jre ...