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的bbs设计(五)
Oct 09 PHP
PHP截取汉字乱码问题解决方法mb_substr函数的应用
Mar 30 PHP
fleaphp crud操作之findByField函数的使用方法
Apr 23 PHP
PHP中使用CURL伪造来路抓取页面或文件
May 04 PHP
PHP无刷新上传文件实现代码
Sep 19 PHP
自己在做项目过程中学到的PHP知识收集
Aug 20 PHP
php中操作memcached缓存进行增删改查数据的实现代码
Aug 15 PHP
PHP防止刷新重复提交页面的示例代码
Nov 11 PHP
删除PHP数组中的重复元素的实现代码
Apr 10 PHP
详解PHP中的外观模式facade pattern
Feb 05 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 PHP
PHP设计模式(观察者模式)
Jul 07 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
header()函数使用说明
2006/11/23 PHP
ThinkPHP 防止表单重复提交的方法
2011/08/08 PHP
PHP CLI模式下的多进程应用分析
2013/06/03 PHP
使用phpQuery采集网页的方法
2013/11/13 PHP
PHP 二维array转换json的实例讲解
2018/08/21 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
2015/09/06 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
js获取Get值的方法
2016/09/29 Javascript
Angular使用ng-messages与PHP进行表单数据验证
2016/12/28 Javascript
详解vue+vueRouter+webpack的简单实例
2017/06/17 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
2017/07/19 jQuery
JavaScript实现焦点进入文本框内关闭输入法的核心代码
2017/09/20 Javascript
Python基础教程之正则表达式基本语法以及re模块
2016/03/25 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
Python基本socket通信控制操作示例
2019/01/30 Python
Django打印出在数据库中执行的语句问题
2019/07/25 Python
python SVD压缩图像的实现代码
2019/11/05 Python
Python正则re模块使用步骤及原理解析
2020/08/18 Python
用canvas显示验证码的实现
2020/04/10 HTML / CSS
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
韩国现代百货官网:Hmall
2018/03/21 全球购物
英国一家集合了众多有才华设计师品牌的奢侈店:Wolf & Badger
2018/04/18 全球购物
Under Armour安德玛法国官网:美国高端运动科技品牌
2018/06/29 全球购物
在印度上传处方,在线订购药品:Medlife
2019/03/28 全球购物
编辑找工作求职信范文
2013/12/16 职场文书
党员公开承诺书和承诺事项
2014/03/25 职场文书
《鸟岛》教学反思
2014/04/26 职场文书
责任书范本
2014/08/25 职场文书
活动总结新闻稿
2014/08/30 职场文书
公司离职证明标准样本
2014/10/05 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
2015年办公室主任工作总结
2015/04/09 职场文书
css3中transform属性实现的4种功能
2021/08/07 HTML / CSS