首頁 >Java >java教程 >ThinkPHP中如何實作MySQL多表聯查

ThinkPHP中如何實作MySQL多表聯查

不言
不言原創
2018-09-12 16:33:035306瀏覽

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中文網其他相關文章!

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