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的更多相关文章
随机推荐
- node.js(二)
今天我们学习如何运行起来一个项目,我还不会新建项目,所以我们打开一个小伙伴创建的项目,我用的开发工具是vscode 选择项目所在文件夹就好了. 打开后是这样子的 我们还要安装一下npm, 在这里安装, ...
- Python3 图像识别(二)
Infi-chu: http://www.cnblogs.com/Infi-chu/ 以图搜图的使用已经非常广泛了,我现在来介绍一下简单的以图搜图的相关算法及其实践. 一.感知hash算法 感知哈希算 ...
- Asp.Net Core跨域配置
在没有设置跨域配置的时候,Ajax请求时会报以下错误 已拦截跨源请求:同源策略禁止读取位于 http://localhost:5000/Home/gettime 的远程资源.(原因:CORS 头缺少 ...
- 20155321 《Java程序设计》实验五 网络编程与安全
实验内容 两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对 ...
- [BZOJ4712]洪水-[树链剖分+线段树]
Description 小A走到一个山脚下,准备给自己造一个小屋.这时候,小A的朋友(op,又叫管理员)打开了创造模式,然后飞到山顶放了格水.于是小A面前出现了一个瀑布.作为平民的小A只好老实巴交地爬 ...
- [agc004D]Teleporter
Description 传送门 Solution 依题意我们可以知道,以2-n为出发点的边和1号节点会构成一课树(不然2-n号节点无法都达到首都). 为了让2-n号节点中,离1号节点的距离<k的 ...
- (EX)CRT总结
(EX)CRT总结 这个东西是联赛的时候搞的,早就忘了,写篇博客复习一下 中国剩余定理(crt) 给定\(a\).\(m\) \[ x\equiv a_1(mod\;m_1)\\ x\equiv a_ ...
- SpringBoot (1) idea下的环境搭建及demo
1.Spring Boot简介 wiki上的介绍: Spring Boot是Spring的常规配置解决方案,用于创建可以“运行”的独立的,生产级的基于Spring的应用程序.[22]它预先配置了Spr ...
- 第五篇 Postman离线安装interceptor插件---Chrome app及录制请求
在测试中,总是苦恼于无法直接使用chrome浏览器的cookie等信息,终于在茫茫网海中,发现了 https://www.jianshu.com/p/a4223bab1e73, 感谢 智者向内寻求力量 ...
- CSP201604-2:俄罗斯方块
引言:CSP(http://www.cspro.org/lead/application/ccf/login.jsp)是由中国计算机学会(CCF)发起的"计算机职业资格认证"考试, ...