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程序员面试 切忌急功近利(更需要注重以后的发展)
Sep 01 PHP
PHP文件读写操作之文件读取方法详解
Jan 13 PHP
一个PHP缓存类代码(附详细说明)
Jun 09 PHP
php curl基本操作详解
Jul 23 PHP
mac下安装nginx和php
Nov 04 PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
Jan 31 PHP
PHP常用函数和常见疑难问题解答
Mar 05 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
Dec 02 PHP
yii使用activeFileField控件实现上传文件与图片的方法
Dec 28 PHP
PHP的时间戳与具体时间转化的简单实现
Jun 13 PHP
PHP基于反射机制实现插件的可插拔设计详解
Nov 10 PHP
ThinkPHP实现附件上传功能
Apr 27 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函数解决SQL injection
2006/12/09 PHP
php 检查电子邮件函数(自写)
2014/01/16 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
2015/11/09 PHP
PHP 图片处理
2020/09/16 PHP
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
轻松学习jQuery插件EasyUI EasyUI实现树形网络基本操作(2)
2015/11/30 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
JavaScript中三个等号和两个等号的区别(== 和 ===)浅析
2016/09/22 Javascript
Javascrip实现文字跳动特效
2016/11/27 Javascript
Vue获取页面元素的相对位置的方法示例
2020/02/05 Javascript
JavaScript 判断数据类型的4种方法
2020/09/11 Javascript
[05:46]2018完美盛典-《同梦共竞》
2018/12/17 DOTA
Python读取本地文件并解析网页元素的方法
2018/05/21 Python
python实现的自动发送消息功能详解
2019/08/15 Python
centos7之Python3.74安装教程
2019/08/15 Python
使用python3 实现插入数据到mysql
2020/03/02 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
Python多线程Threading、子线程与守护线程实例详解
2020/03/24 Python
美国女士时尚珠宝及配饰购物网站:Icing
2018/07/02 全球购物
周仰杰(JIMMY CHOO)英国官方网站:闻名世界的鞋子品牌
2018/10/28 全球购物
JD Sports荷兰:英国领先的运动时尚零售商
2020/03/13 全球购物
澳大利亚在线批发商:Simply Wholesale
2021/02/24 全球购物
写好求职信第一句话的技巧
2013/10/26 职场文书
室内设计专业学生的自我评价分享
2013/11/27 职场文书
升职自荐书范文
2013/11/28 职场文书
大学四年职业生涯规划书范文
2014/01/02 职场文书
大学校务公开实施方案
2014/03/31 职场文书
初中生期末评语大全
2014/04/24 职场文书
导游个人求职信
2014/04/25 职场文书
团委工作总结2015
2015/04/02 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
Python基础之变量的相关知识总结
2021/06/23 Python
java实现自定义时钟并实现走时功能
2022/06/21 Java/Android
CSS 鼠标点击拖拽效果的实现代码
2022/12/24 HTML / CSS