thinkphp中實現多表關聯查詢的代碼執行個體

來源:互聯網
上載者:User
這篇文章主要介紹了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);}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.