cakephp2.X多表联合查询join及使用分页查询的方法

发布时间 - 2026-01-10 23:14:49    点击率:

本文实例讲述了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优秀开发框架总结》、《codeigniter入门教程》、《ThinkPHP入门教程》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。


# cakephp  # 多表联合  # 分页  # 查询  # PHP中CakePHP添加数据库实例方法  # CakePHP框架Model函数定义方法示例  # CakePHP框架Model关联对象用法分析  # cakephp常见知识点汇总  # CakePHP框架Session设置方法分析  # Cakephp 执行主要流程  # 初学CAKEPHP 基础教程  # CakePHP的安装的简单方法  # 程序设计  # 相关内容  # 感兴趣  # 给大家  # 更多关于  # 所述  # 面向对象  # 操作技巧  # 讲述了  # trim  # logintime  # end_date  # elseif  # key  # val  # start_date  # foreach  # USERNAME 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 简单实现jsp分页  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Android利用动画实现背景逐渐变暗  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  Laravel如何使用Vite进行前端资源打包?(配置示例)  java中使用zxing批量生成二维码立牌  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  如何获取上海专业网站定制建站电话?  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  Laravel如何为API编写文档_Laravel API文档生成与维护方法  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  EditPlus中的正则表达式 实战(4)  Swift中swift中的switch 语句  香港网站服务器数量如何影响SEO优化效果?  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  如何在企业微信快速生成手机电脑官网?  Laravel如何处理表单验证?(Requests代码示例)  Laravel怎么使用artisan命令缓存配置和视图  如何快速搭建高效简练网站?  再谈Python中的字符串与字符编码(推荐)  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  免费网站制作appp,免费制作app哪个平台好?  如何快速配置高效服务器建站软件?  微信小程序 input输入框控件详解及实例(多种示例)  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  node.js报错:Cannot find module &#39;ejs&#39;的解决办法  高防服务器租用指南:配置选择与快速部署攻略  Laravel如何自定义分页视图?(Pagination示例)  Firefox Developer Edition开发者版本入口  Laravel如何实现事件和监听器?(Event & Listener实战)  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  如何在服务器上配置二级域名建站?  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  javascript中闭包概念与用法深入理解  MySQL查询结果复制到新表的方法(更新、插入)  Python结构化数据采集_字段抽取解析【教程】  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  高防服务器如何保障网站安全无虞?  jquery插件bootstrapValidator表单验证详解  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  bing浏览器学术搜索入口_bing学术文献检索地址  JavaScript中如何操作剪贴板_ClipboardAPI怎么用