首頁 >後端開發 >php教程 >thinkphp中實作多表關聯查詢的程式碼實例

thinkphp中實作多表關聯查詢的程式碼實例

黄舟
黄舟原創
2017-10-13 09:27:181624瀏覽

這篇文章主要介紹了thinkphp中的多表關聯查詢的實例詳解的相關資料,希望透過本文能幫助到大家,讓大家理解掌握這部分內容,需要的朋友可以參考下

thinkphp中的多表關聯查詢的實例詳解

 在進行後端管理系統的程式設計的時候一般會使用框架來進行頁面的快速搭建,我最近使用比較多的就是thinkphp框架,thinkphp框架的應用其實就是把前端和後端進行分割管理,前端使用者登入查詢系統放在thinkphp中的home資料夾中進行管理,後端管理系統放在thinkphp中的admin資料夾中進行管理。對了,使用thinkphp框架的時候是用到mvc架構的,mvc架構就是model(資料模型)、view(視圖)、controller(控制器)的結構,這裡介面是由視圖來控制,控制器的功能是管理視圖和控制器,詳細的結構可以查詢thinkphp的文件進行學習。

        今天要說的是在後端管理系統中所遇到的資料庫表格的關聯查詢應用。

         首先要說的是在thinkphp中的查詢語句的應用,當然這裡並不是簡單的對一個資料表的查詢工作,而是進行多表之間的關聯查詢,這裡面進行資料的關聯有兩種方法join和table方法。

1、首先介紹的是table方法進行多重表格之間的關聯查詢

      最前面的M是thinkphp中的M模型,作用就是選擇資料庫中的資料表,table中選擇的是哪些要關聯的表,where是進行條件關聯,field的作用其實就是一個過濾作用,可以把你想要的或有用的資訊輸出出來,這樣將表格進行關聯之後的結果就是剩下自己想要的資料結構了。


public function orderList(){
   $User=M("t_order");
   /*两个表的关联查询得到等级值*/
   $userinfo = $User->table('t_order,t_commodity,t_user')->where('t_order.cname = t_commodity.cname and t_order.uname = t_user.uname ')->field('t_order_id,t_order.orderid,t_order.cname')->select();
   $this->assign("userInfo",$userinfo);
   $this->display("order-list");
}

2、join方法進行多表之間的關聯查詢

這裡面的表的關聯的差異就是join使用了on來進行表的關聯,剩下的部分其實就是一樣,where中是關聯的條件,field中是過濾的信息(對接下來有用的信息)


public function getBanner(){
 $bannerid=1;
 $banner=M("banner_item");
 $result=$banner->join('image ON banner_item.img_id = image.id')->where("banner_item.banner_id=".$bannerid)->field("key_word,type,banner_id,url,from")->select();
 echo json_encode($result);
}

以上是thinkphp中實作多表關聯查詢的程式碼實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn