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制作简单的内容采集器的原理分析
Oct 01 PHP
应用开发中涉及到的css和php笔记分享
Aug 02 PHP
php与flash as3 socket通信传送文件实现代码
Aug 16 PHP
浅析php适配器模式(Adapter)
Nov 25 PHP
php ImageMagick windows下安装教程
Jan 26 PHP
Linux系统递归生成目录中文件的md5的方法
Jun 29 PHP
PHP入门教程之表单与验证实例详解
Sep 11 PHP
php编程实现简单的网页版计算器功能示例
Apr 26 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
Oct 16 PHP
PHP的Trait机制原理与用法分析
Oct 18 PHP
php上传后台无法收到数据解决方法
Oct 28 PHP
php引用传递
Apr 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
php提示undefined index的几种解决方法
2012/05/21 PHP
19个超实用的PHP代码片段
2014/03/14 PHP
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
2015/10/10 PHP
Yii2如何批量添加数据
2016/05/17 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
php基于协程实现异步的方法分析
2019/07/17 PHP
js对象的复制继承实例
2015/01/10 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
jquery实现图片水平滚动效果代码分享
2015/08/26 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
利用python分析access日志的方法
2016/10/26 Javascript
基于JQuery及AJAX实现名人名言随机生成器
2017/02/10 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
jQuery中的deferred对象和extend方法详解
2017/05/08 jQuery
php main 与 iframe 相互通讯类(js+php同域/跨域)
2017/09/14 Javascript
Vue2.0子同级组件之间数据交互方法
2018/02/28 Javascript
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
[48:30]LGD vs infamous Supermajor小组赛D组 BO3 第一场 6.3
2018/06/04 DOTA
python实现从ftp服务器下载文件的方法
2015/04/30 Python
python基础练习之几个简单的游戏
2017/11/10 Python
对Python中type打开文件的方式介绍
2018/04/28 Python
python 函数内部修改外部变量的方法
2018/12/18 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
2019/05/15 Python
python交易记录整合交易类详解
2019/07/03 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
Python模块future用法原理详解
2020/01/20 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
CSS3 calc()会计算属性详解
2018/02/27 HTML / CSS
Sneaker Studio法国:购买运动鞋
2018/06/08 全球购物
日语系毕业生推荐信
2013/11/11 职场文书
2014年民主评议党员个人总结
2014/09/24 职场文书
遗嘱范文
2015/08/07 职场文书
教你漂亮打印Pandas DataFrames和Series
2021/05/29 Python