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 相关文章推荐
关于mysql 字段的那个点为是定界符
Jan 15 PHP
探讨fckeditor在Php中的配置详解
Jun 08 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
Jun 26 PHP
php接口与接口引用的深入解析
Aug 09 PHP
php中最简单的字符串匹配算法
Dec 16 PHP
PHP简单选择排序算法实例
Jan 26 PHP
php输出xml属性的方法
Mar 19 PHP
Yii2增删改查之查询 where参数详细介绍
Aug 08 PHP
tp5(thinkPHP5)框架连接数据库的方法示例
Dec 24 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
Apr 03 PHP
Laravel框架实现的上传图片到七牛功能详解
Sep 06 PHP
PHP 实现base64编码文件上传出现问题详解
Sep 01 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
第七节 类的静态成员 [7]
2006/10/09 PHP
PHP+MySQL5.0中文乱码解决方法
2006/11/20 PHP
PHP include任意文件或URL介绍
2014/04/29 PHP
php 微信公众平台开发模式实现多客服的实例代码
2016/11/07 PHP
如何快速的呈现我们的网页的技巧整理
2007/07/01 Javascript
jquery 插件 任意位置浮动固定层
2008/12/25 Javascript
Jquery拖拽并简单保存的实现代码
2010/11/28 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
jQuery实现表单提交时判断的方法
2014/12/13 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
浅谈angularJS中的事件
2016/07/12 Javascript
微信小程序 navigation API实例详解
2016/10/02 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
2017/08/04 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
VUE中v-on:click事件中获取当前dom元素的代码
2018/08/22 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
2018/11/14 Javascript
python函数返回多个值的示例方法
2013/12/04 Python
Python处理XML格式数据的方法详解
2017/03/21 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
2017/12/08 Python
matplotlib作图添加表格实例代码
2018/01/23 Python
解决Django layui {{}}冲突的问题
2019/08/29 Python
Python流程控制 if else实现解析
2019/09/02 Python
Python如何基于smtplib发不同格式的邮件
2019/12/30 Python
python基于event实现线程间通信控制
2020/01/13 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
2020/09/15 Python
Python中的None与 NULL(即空字符)的区别详解
2020/09/24 Python
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
法国在线购买汽车轮胎网站:123pneus.fr
2019/02/25 全球购物
外贸主管求职简历的自我评价
2013/10/23 职场文书
2015年事业单位工作总结
2015/04/27 职场文书
大学感恩节活动总结
2015/05/05 职场文书
看雷锋电影观后感
2015/06/10 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
python urllib库的使用详解
2021/04/13 Python