本文实例讲述了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程序设计有所帮助。