//此段代码在某个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的同时又可以用表别名?
最佳答案
