用thinkphp少不了多表的查询,遇到多表查询没有问题,但是有的时候比如 表a有字段id  name  表b 有aid  name  最后sql语句写完之后查出来的数组只有一个name 但是我两个name都要,那怎么办呢,

我thinkphp多表查询基本不用table方法,我用thinkphp的query方法,自己写sql比较灵活。解决的办法就是给字段起一个别名:代码

$group = $group_msg->query("select b.name as bname,a.name as aname from group_msg as b join groups as a where a.id=b.g_id and a.id='".$_GET['id']."' ");

取的时候直接取 aname  bname就行了,用as方法把字段给写别名了,就可以解决了

当然了thinkphp是非常强大的,可以用thinkphp自带的解决,下面是三表查询的例子,有几个重复的字段名:

$list = $article->field('a.name as aname,think_article.*,c.title as seriestitle,b.typename')->join(array('think_author a  on a.id = think_article.author_id','think_category b on b.id = think_article.category_id','think_series c on c.id=think_article.serices'))->select();

建议用thinkphp的field()来解决。