ホームページ >Java >&#&チュートリアル >ThinkPHP で MySQL 複数テーブル結合クエリを実装する方法
ThinkPHP で MySQL 複数テーブル結合クエリを実装する方法: まずモデルをインスタンス化し、次に table() メソッドまたは join() メソッドを使用してクエリを実行します。例: [table('sp_user as t1, sp_dept as t2') ]。
この記事の内容は、ThinkPHP で MySQL の複数テーブルの結合クエリを実装する方法に関するものです。必要な方は参考にしていただければ幸いです。あなたに助けられました。
推奨ビデオチュートリアル:「mysqlチュートリアル」、「PHPチュートリアル」
図に示すように2つのテーブルを作成します:
sp_userテーブル:
sp_deptテーブル:
目的: dept_idを渡すof sp_user 所属する部門、つまり sp_dept 内の名前を照会します。
ネイティブ sq メソッド 1:
select t1.*,t2.name as deptname from sp_user as t1,sp_dept as t2 where t1.dept_id = t2.id;
ネイティブ sq メソッド 2:
select t1.*,t2.name as deptname from sp_user as t1 left join sp_dept as t2 on t1.dept_id = t2.id;
結果は同じです:
ThinkPHP に対応して、次の 2 つのメソッド 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 はテーブルメソッドと結合メソッドを通じて複数テーブルの結合クエリを実行できます。テスト環境は ThinkPHP3.2.3 で、テーブルのプレフィックスは sp_
です。
関連する推奨事項:
ThinkPHP の関連クエリの例、ThinkPHP 関連の例
以上がThinkPHP で MySQL 複数テーブル結合クエリを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。