本站资源全部免费,回复即可查看下载地址!
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
创建两个表如图:
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如下:[PHP] 纯文本查看 复制代码 //多表联查(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_
|