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中用文本文件做数据库的实现方法
Mar 27 PHP
php URL跳转代码 减少外链
Jun 25 PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
Aug 15 PHP
php开启openssl的方法
May 15 PHP
smarty表格换行实例
Dec 15 PHP
PHP 使用memcached简单示例分享
Mar 05 PHP
PHP中PDO的事务处理分析
Apr 07 PHP
详解Yii2 之 生成 URL 的方法
Jun 16 PHP
PHP实现的简单操作SQLite数据库类与用法示例
Jun 19 PHP
PHP单例模式简单用法示例
Jun 23 PHP
浅谈thinkphp5 instance 的简单实现
Jul 30 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
May 11 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
动态生成gif格式的图像要注意?
2006/10/09 PHP
PHP的拦截器实例分析
2014/11/03 PHP
分享10段PHP常用代码
2015/11/11 PHP
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
2019/10/17 PHP
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
基于jquery的表格排序
2010/09/11 Javascript
JS实现随机乱撞彩色圆球特效的方法
2015/05/05 Javascript
JavaScript中setFullYear()方法的使用详解
2015/06/11 Javascript
再次谈论Javascript中的this
2016/06/23 Javascript
jQuery实现根据滚动条位置加载相应内容功能
2016/07/18 Javascript
微信小程序 实现tabs选项卡效果实例代码
2016/10/31 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
angular-cli修改端口号【angular2】
2017/04/19 Javascript
JavaScript中BOM对象原理与用法分析
2019/07/09 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
Vue基于localStorage存储信息代码实例
2020/11/16 Javascript
Django学习笔记之Class-Based-View
2017/02/15 Python
django admin 后台实现三级联动的示例代码
2018/06/22 Python
python3通过selenium爬虫获取到dj商品的实例代码
2019/04/25 Python
用python生成与调用cntk模型代码演示方法
2019/08/26 Python
给大家整理了19个pythonic的编程习惯(小结)
2019/09/25 Python
Python中格式化字符串的四种实现
2020/05/26 Python
Python能做什么
2020/06/02 Python
Django def clean()函数对表单中的数据进行验证操作
2020/07/09 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
SmartBuyGlasses英国:购买太阳镜和眼镜
2018/01/29 全球购物
.NET现在共支持多少种语言
2014/02/26 面试题
关于运动会的稿件
2014/02/02 职场文书
党员教师个人对照检查材料(群众路线)
2014/09/26 职场文书
商务宴请邀请函范文
2015/02/02 职场文书
2016年第二十届“母亲节暨幸福工程救助贫困母亲活动日”活动总结
2016/04/06 职场文书
致创业的您:这类人不适合餐饮创业
2019/08/19 职场文书