thinkphp中的多表關(guān)聯(lián)查詢的實例詳解
在進(jìn)行后端管理系統(tǒng)的編程的時候一般會使用框架來進(jìn)行頁面的快速搭建,我最近使用比較多的就是thinkphp框架,thinkphp框架的應(yīng)用其實就是把前端和后端進(jìn)行分割管理,前端用戶登錄查詢系統(tǒng)放在thinkphp中的home文件夾中進(jìn)行管理,后端管理系統(tǒng)放在thinkphp中的admin文件夾中進(jìn)行管理。對了,在使用thinkphp框架的時候是是要用到mvc架構(gòu)的,mvc架構(gòu)就是model(數(shù)據(jù)模型)、view(視圖)、controller(控制器)的結(jié)構(gòu),這里界面是由視圖來進(jìn)行控制,控制器的作用就是管理視圖和控制器,詳細(xì)的結(jié)構(gòu)可以查詢thinkphp的文檔進(jìn)行學(xué)習(xí)。
今天要說的就是在后端管理系統(tǒng)中遇到的數(shù)據(jù)庫表的關(guān)聯(lián)查詢應(yīng)用。
首先要說的就是在thinkphp中的查詢語句的應(yīng)用,當(dāng)然這里并不是簡單的對一個數(shù)據(jù)表的查詢工作,而是進(jìn)行多表之間的關(guān)聯(lián)查詢,這里面進(jìn)行數(shù)據(jù)的關(guān)聯(lián)有兩種方法join和table方法 。
1、首先介紹的是table方法進(jìn)行多表之間的關(guān)聯(lián)查詢
最前面的M是thinkphp中的M模型,作用就是選擇數(shù)據(jù)庫中的數(shù)據(jù)表,table中選擇的是要關(guān)聯(lián)的哪些表,where是進(jìn)行條件關(guān)聯(lián),field的作用其實就是一個過濾作用,可以把你想要的或者有用的信息輸出出來,這樣對表進(jìn)行關(guān)聯(lián)之后的結(jié)果就是剩下自己想要的數(shù)據(jù)結(jié)構(gòu)了。
public function orderList(){ $User=M("t_order"); /*兩個表的關(guān)聯(lián)查詢得到等級值*/ $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方法進(jìn)行多表之間的關(guān)聯(lián)查詢
這里面的表的關(guān)聯(lián)的區(qū)別就是join使用了on來進(jìn)行表的關(guān)聯(lián),剩下的部分其實就是一樣,where中是關(guān)聯(lián)的條件,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); }
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
標(biāo)簽:南昌 臨夏 阜陽 黑河 欽州 中衛(wèi) 延邊 駐馬店
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《thinkphp中的多表關(guān)聯(lián)查詢的實例詳解》,本文關(guān)鍵詞 thinkphp,中的,多表,關(guān)聯(lián),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。