在Laravel中使用冲突的列名联接三个表

用户名

我有三个表,这是相关的列:

events
 id
 name
 location_id
 org_id

locations
 id
 name

orgs
 id
 name

这是我的控制器中的查询生成器:

$events = DB::table('events')
                ->join ('locations', 'events.location_id', '=', 'locations.id')
                ->join('orgs', 'events.org_id', '=', 'orgs.id')
                ->select('events.id', 'events.name', 'orgs.name', 'locations.name')
                ->get();
    return response()->json($events);

因此,输出为:

[{"id":"2","name":"HUB 123"}, {"id":"3","name":"HUB Lounge"}]

什么时候应该是:

 [{"id":"2","name":"Some cool event","org":"Student Senate","location":"HUB 123"}, {"id":"3","name":"Some other cool event","org":"Some club","location":"HUB Lounge"}]

看起来,由于所有三个表都有一个“名称”列,因此要选择的最后一列将覆盖之前的列。显然这不是我想要的。

有没有一种方法可以在querybuilder中为列赋予一个新名称,类似于普通MySQL中的AS?这能解决我的问题吗?请举例说明您的答案。我不是MySQL专家,而是Laravel的初学者。我只是试图设置一个基本API来与我的实际项目一起使用。

谢谢!

奥赛特

别名列

$events = DB::table('events')
            ->join ('locations', 'events.location_id', '=', 'locations.id')
            ->join('orgs', 'events.org_id', '=', 'orgs.id')
            ->select('events.id', 'events.name as event_name', 'orgs.name as org', 'locations.name as location')
            ->get();
return response()->json($events);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何对三个表使用联接

来自分类Dev

使用LEFT联接避免在三个表中使用笛卡尔积

来自分类Dev

使用三个表的内部联接编写mysql查询

来自分类Dev

使用三个表进行内部联接

来自分类Dev

如何使用三个表进行内部联接?

来自分类Dev

SQL Server:联接三个表

来自分类Dev

MySQL跨三个表联接

来自分类Dev

SQL:左联接与三个表

来自分类Dev

将三个表与条件联接

来自分类Dev

联接三个表并计数

来自分类Dev

SQL联接查询与三个表

来自分类Dev

LINQ查询联接三个表

来自分类Dev

在Solr中联接三个表

来自分类Dev

BigQuery联接三个表

来自分类Dev

获得三个联接表的列

来自分类Dev

是否可以对三个表使用AND并使用左联接/内联接

来自分类Dev

我可以使用AS联接2个表以重命名联接,以便与第三个表联接吗?

来自分类Dev

联接两个表,这些表的键引用第三个表上的相同键,而不使用第三个表

来自分类Dev

跨三个表左联接(带联结表)

来自分类Dev

使用SQL对三个表进行有效的内部联接

来自分类Dev

使用Linq在三个表上进行内部联接

来自分类Dev

使用带有三个表的内部联接重复记录

来自分类Dev

使用带有三个表的内部联接重复记录

来自分类Dev

laravel连接三个表

来自分类Dev

使用SQL Server,如何查询三个单独的表的外部联接,而这三个表又位于一个共同的列上?

来自分类Dev

包含三个表的联接的查询不起作用?

来自分类Dev

用MAX函数联接三个表

来自分类Dev

SQL在三个联接表上查找值

来自分类Dev

共享相同主键的三个表之间的完全联接