ThinkPHP中實作MySQL多表聯查的方法:先實例化模型;然後使用table()方法或join()方法來查詢即可,例如:【table('sp_user as t1, sp_dept as t2')】。
這篇文章帶給大家的內容是關於ThinkPHP中的如何實現MySQL多表聯查(圖文) ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
建立兩個表格如圖:
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中文網其他相關文章!