如何做到在用JOIN的同时又可以用表别名?

浏览:12613 发布日期:2015/04/08 分类:求助交流 关键字: join 表别名 table
使用join,就不能同时使用table给多个表取别名,否则会运行不成功,如//此段代码在某个Model里面
$tbpre = $this->tableprefix;
$Aaa = M('aaa');
$Aaa->table(array("{$tbpre}aaa"=>'a',"{$tbpre}bbb"=>'b'))
        ->join(" left join {$tbpre}bbb on a.x = b.x")->buildSql();
//将会生成以下SQL
select * from aaa a , bbbb b left join bob on a.x = b.x 
这种情况,然后就一直运行不成功。
这是thinkphp的bug还是我的用法错误。

改成这种情况就好了:$tbpre = $this->tableprefix;
$Aaa = M('aaa');
$Aaa->join(" left join {$tbpre}bbb on {$tbpre}aaa.x = {$tbpre}bbb.x")->buildSql();
//将会生成以下SQL
select * from aaa left join bbb on aaa.x = bbb.x
但问题是如果不给写别名,到处是很长的表名很难受。
有谁遇到过吗?如何做到在用JOIN的同时又可以用表别名?
最佳答案
评论( 相关
后面还有条评论,点击查看>>