mysql从表中选择所有,但只更改列名称
问题描述:
我需要选择一个包含id,名称和更多的表。现在我想选择所有内容,但只需将列名称'name'更改为'user_name'即可。我怎样才能做到这一点,而不选择和宣布一切? 我试过这样,但这不起作用。mysql从表中选择所有,但只更改列名称
return $query
->select(
'user.*',
'user.name as user_name'
)
答
您的问题从您的加入开始。因为你没有走样,所以第二个覆盖第一个。我给你一个示例查询,以显示如何为连接的表生成别名,从而将别名从第二个表中别名化。示例代码:
$query = DB::table('users')
->leftjoin('users as child', 'users.id', '=', 'users.parent_id')
->select('users.*', 'child.name as child_name')
->get();
你是什么意思,它不工作?你有错误还是别的? –
另外,你可以尝试'返回$查询 - >选择(['user.name as user_name','用户。*'])' –
重点是,我留下来加入它与同一张表,但在另一个用户。所以两者都有“名称”列。因此它覆盖了之前的转储。该ID也被覆盖,但我不需要它。 – hatemjapo