cakephp2.X多表联合查询join及使用分页查询的方法


Posted in PHP onFebruary 23, 2017

本文实例讲述了cakephp2.X多表联合查询join及使用分页查询的方法。分享给大家供大家参考,具体如下:

格式化参数:

public function getconditions($data){
  $this->loadModel("Cm.LoginHistory");
  $conditions = array();
  foreach ($data as $key=>$val){
    if($key=='start_date'){
      $conditions['LoginHistory.logintime >=']=trim($val);
    }elseif ($key=='end_date'){
      $conditions['LoginHistory.logouttime <=']=trim($val);
    }elseif ($key=='selectvsoftid' and $val !=''){
      $conditions['LoginHistory.LOGINSUBSYSTEM LIKE']='%'.trim($val).'%';
    }elseif ($key=='username' and $val !=''){
      $conditions['LoginHistory.USERNAME LIKE']='%'.trim($val).'%';
    }elseif ($key=='vdevicename' and $val !=''){
      $conditions['LoginHistory.WINDOWNAME LIKE']='%'.trim($val).'%';
    }elseif ($key=='selectvsoftid' and $val !=''){
      $conditions['LoginHistory.PHDEVICENAME LIKE']='%'.trim($val).'%';
    }
  }
  return $conditions;
}

分页查询:

$fields = array('LoginHistory.windowname','LoginHistory.loginsubsystem','VirtualDevice.PHDEVICEID','LoginHistory.userid', 'VirtualDevice.SYSTYPEID','UserInfo.USERNAME','"SUM"(LoginHistory.LOGOUTTIME-LoginHistory.LOGINTIME) moument','UserInfo.USERNAME','DeviceInfo.DEVICENAME');
$group=array('LoginHistory.windowname', 'LoginHistory.loginsubsystem', 'LoginHistory.userid','UserInfo.USERNAME','DeviceInfo.DEVICENAME','VirtualDevice.SYSTYPEID','VirtualDevice.PHDEVICEID');
$this->paginate = array('conditions'=>$conditions,'fields'=>$fields,'group'=>$group,'limit'=>9,'joins' => array(
   array(
     'alias' => 'UserInfo',
     'table' => 'SMM_USERINFO',
     'type' => 'LEFT',
     'conditions' => ' LoginHistory.USERID=UserInfo.USERID ',
   ),
   array(
     'alias' => 'VirtualDevice',
     'table' => 'ET_NMVIRTUALDEVICEINFO',
     'type' => 'LEFT',
     'conditions' => ' LoginHistory.WINDOWNAME=VirtualDevice.DEVICENAME ',
   ),
   array(
     'alias' => 'DeviceInfo',
     'table' => 'ET_NMDEVICEINFO',
     'type' => 'LEFT',
     'conditions' => ' VirtualDevice.PHDEVICEID=DeviceInfo.DEVICEID ',
   ),
 ));
$LoginHistory = $this->paginate('LoginHistory');
$this->set('loginhistory',$LoginHistory);

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP中include()与require()的区别说明
Mar 10 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
Nov 02 PHP
php模板函数 正则实现代码
Oct 15 PHP
使用PHP接收POST数据,解析json数据
Jun 28 PHP
php下Memcached入门实例解析
Jan 05 PHP
php专用数组排序类ArraySortUtil用法实例
Apr 03 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
Mar 14 PHP
弹出模态框modal的实现方法及实例
Sep 19 PHP
PHP实现浏览器格式化显示XML的方法示例
Jan 22 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
Jun 14 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
Jun 14 PHP
laravel 实现上传图片到本地和前台访问示例
Oct 21 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
Feb 23 #PHP
php实现的XML操作(读取)封装类完整实例
Feb 23 #PHP
利用php生成验证码
Feb 23 #PHP
php实现base64图片上传方式实例代码
Feb 22 #PHP
php中实现字符串翻转的方法
Feb 22 #PHP
php生成图片缩略图功能示例
Feb 22 #PHP
php图形jpgraph操作实例分析
Feb 22 #PHP
You might like
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
2016/03/07 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
php多进程中的阻塞与非阻塞操作实例分析
2020/03/04 PHP
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
XML的代替者----JSON
2007/07/21 Javascript
jQuery getJSON()+.ashx 实现分页(改进版)
2013/03/28 Javascript
jquery的ajax跨域请求原理和示例
2014/05/08 Javascript
jQuery实用函数用法总结
2014/08/29 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
学习JavaScript设计模式(代理模式)
2015/12/03 Javascript
JQUERY表单暂存功能插件分享
2016/02/23 Javascript
JS for...in 遍历语句用法实例分析
2016/08/24 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
js实现圆形菜单选择器
2020/12/03 Javascript
[03:07]2015国际邀请赛选手档案EHOME.rOtK 是什么让他落泪?
2015/07/31 DOTA
[54:27]TNC vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python splitlines使用技巧
2008/09/06 Python
详细解析Python中__init__()方法的高级应用
2015/05/11 Python
解析Python中的二进制位运算符
2015/05/13 Python
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
详解Python 数据库 (sqlite3)应用
2016/12/07 Python
python实现扫描日志关键字的示例
2018/04/28 Python
Python对象属性自动更新操作示例
2018/06/15 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
CSS3 实现侧边栏展开收起动画
2014/12/22 HTML / CSS
一个基于canvas的移动端图片编辑器的实现
2020/10/28 HTML / CSS
网络工程师个人的自我评价范文
2013/10/01 职场文书
革命先烈的英雄事迹材料
2014/02/15 职场文书
党员对照检查剖析材料
2014/10/13 职场文书
2015年个人现实表现材料
2014/12/10 职场文书
学校办公室主任岗位职责
2015/04/01 职场文书
孝女彩金观后感
2015/06/10 职场文书
2019年销售部季度工作计划3篇
2019/10/09 职场文书