国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

ThinkPHP5聯合(關聯)查詢、多條件查詢與聚合查詢實例詳解

2024-05-05 00:00:54
字體:
來源:轉載
供稿:網友

本文實例講述了ThinkPHP5聯合(關聯)查詢、多條件查詢與聚合查詢。分享給大家供大家參考,具體如下:

一、聯合(關聯)查詢

1. 項目表

DROP TABLE IF EXISTS `darling_project`;CREATE TABLE `darling_project` ( `project_id` int(32) NOT NULL AUTO_INCREMENT, `project_name` varchar(20) NOT NULL, `create_time` int(32) NOT NULL, PRIMARY KEY (`project_id`), UNIQUE KEY `project_id` (`project_id`), UNIQUE KEY `project_name` (`project_name`));

2. 版本號表

DROP TABLE IF EXISTS `darling_version`;CREATE TABLE `darling_version` ( `version_id` int(32) NOT NULL AUTO_INCREMENT, `project_id` int(32) NOT NULL, `version_name` varchar(128) NOT NULL, `create_time` int(32) NOT NULL, PRIMARY KEY (version_id), UNIQUE KEY `version_id` (`version_id`));

3. 聯合查詢

$where=array(  "version_id"=>$_POST['version_id']);$Project_version = model('Project')->join("darling_version","darling_version.project_id = darling_project.project_id")->where($where)->find();

二、多條件查詢

方法一:

把查詢條件放到數組里作為where函數參數,但是如果有大于小于這樣的條件參數,數組里是無法賦值的。

例1:

$where=array(  "version_name"=>$version_name,  "project_name"=>$project_name);$userdata=$this->where($where)->find();

例2:

$where=array(   "version_name"=>$version_name,   "project_name"=>$project_name);$userdata=$this->where($where)->select();

例3:

$where=array(  "version_id"=>$version_id);$version_name = model("Version")->where($where)->field("version_name")->find();

方法二:

把多個SQL查詢語句作為where 參數,這樣就支持大于小于這樣的條件了。

$package = model('admin/Package')->where("project_id=".$Project_version['project_id']." and version_id=".$Project_version['version_id']." and status>1")->order('create_time desc')->find();

方法三:

把SQL查詢語句放到多個where函數里

$package = model('admin/Package')->where("project_id=".$Project_version['project_id'])->where("version_id=".$Project_version['version_id'])->where("status>1")->order('create_time desc')->find();

三、聚合max 函數

1.  如下可以返還最新插入的升級包,但是只會返還create_time 這個字段,不能返回整條記錄的字段。

$package = model('admin/Package')->where("project_id=".$Project_version['project_id'])->where("version_id=".$Project_version['version_id'])->where("status>1")->max(create_time)

2. 所以可以使用下面這個達到找出最新插入的記錄并返還整條記錄字段,先做order 排序,再find第一個記錄。

$package = model('admin/Package')->where("project_id=".$Project_version['project_id'])->where("version_id=".$Project_version['version_id'])->where("status>1")->order('create_time desc')->find();

 

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 明光市| 思茅市| 武威市| 邢台县| 浦东新区| 娄烦县| 河东区| 林州市| 凤山市| 海安县| 涟源市| 宾阳县| 吐鲁番市| 五常市| 景宁| 赫章县| 龙口市| 河东区| 永丰县| 甘孜| 乐东| 怀来县| 巴里| 海兴县| 若尔盖县| 永年县| 孟州市| 孝昌县| 大渡口区| 曲靖市| 行唐县| 晋中市| 临夏县| 永康市| 获嘉县| 六盘水市| 胶南市| 五华县| 西乌| 进贤县| 犍为县|