首頁 > Java > java教程 > 主體

ThinkPHP中如何實作MySQL多表聯查

不言
發布: 2020-09-04 15:28:38
原創
5282 人瀏覽過

ThinkPHP中實作MySQL多表聯查的方法:先實例化模型;然後使用table()方法或join()方法來查詢即可,例如:【table('sp_user as t1, sp_dept as t2')】。

ThinkPHP中如何實作MySQL多表聯查

這篇文章帶給大家的內容是關於ThinkPHP中的如何實現MySQL多表聯查(圖文) ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

相關影片教學推薦:《mysql教學》、《PHP教學

建立兩個表格如圖:

sp_user表:

sp_dept表:

目的:透過sp_user的dept_id查詢所屬部門即sp_dept中的name。

原生sq方法一:

select t1.*,t2.name as deptname from sp_user as t1,sp_dept as t2 where t1.dept_id = t2.id;
登入後複製

原生sq方法二:

select t1.*,t2.name as deptname from sp_user as t1 left join sp_dept as t2 on t1.dept_id = t2.id;
登入後複製

結果相同:

對應ThinkPHP中,則也有兩種方法table與join如下:

    //多表联查(table)
    public function test18() {
        //实例化模型
        $model = M();
        //查询
        $result =$model->field('t1.*, t2.name as deptname')->table('sp_user as t1, sp_dept as t2')
             ->where('t1.dept_id = t2.id')->select();
        dump($result);
    }
    //多表联查(join)
    public function test19() {
        //实例化模型
        $model = M('User');
        //查询
        $result = $model->field('t1.*, t2.name as deptname')->alias('t1')
             ->join('left join sp_dept as t2 on t1.dept_id = t2.id')->select();
        dump($result);
    }
登入後複製

測試結果相同:

 

##綜上:ThinkPHP進行多重表聯查可透過table方法和join方法分別實現,測試環境ThinkPHP3.2.3,表前綴sp_

相關推薦:

##2個表如何關聯查詢(thinkphp)


ThinkPHP中關聯查詢實例,ThinkPHP關聯實例

以上是ThinkPHP中如何實作MySQL多表聯查的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板