Laravel 5 联合查询 A 和 B 两个表,ID 冲突怎么办

目前有A和B两个表,结构都比较类似。


A表格

ID name state
1 张三 0
2 张三2 1

B表格

ID content UID state
1 内容1 1 1
2 内容2 2 1

现在通过join关联查询之后
查询语句如下:

$result = DB::table('tableA')->join('tableB', 'tableA.id', '=', 'tableB.id')->get();

查询结果出来之后,内容聚合在一起,A表的state和ID的值,全被B表ID和state覆盖,求怎么改写

阅读 2.1k
2 个回答

我猜你想说的是'tableA.id', '=', 'tableB.uid'

$result = DB::table('tableA')
->select([
    'tableA.id as aid',
    'tableA.state as astate',
    'tableB.id as bid',
    'tableB.state as bstate'
])
->join('tableB', 'tableA.id', '=', 'tableB.uid')->get();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题