2017-03-06 44 views
1

我需要選擇一個包含id,名稱和更多的表。現在我想選擇所有內容,但只需將列名稱'name'更改爲'user_name'即可。我怎樣才能做到這一點,而不選擇和宣佈一切? 我試過這樣,但這不起作用。mysql從表中選擇所有,但只更改列名稱

return $query 
->select(
    'user.*', 
    'user.name as user_name' 
) 
+0

你是什麼意思,它不工作?你有錯誤還是別的? –

+0

另外,你可以嘗試'返回$查詢 - >選擇(['user.name as user_name','用戶。*'])' –

+0

重點是,我留下來加入它與同一張表,但在另一個用戶。所以兩者都有「名稱」列。因此它覆蓋了之前的轉儲。該ID也被覆蓋,但我不需要它。 – hatemjapo

回答

0

您的問題從您的加入開始。因爲你沒有走樣,所以第二個覆蓋第一個。我給你一個示例查詢,以顯示如何爲連接的表生成別名,從而將別名從第二個表中別名化。示例代碼:

$query = DB::table('users') 
->leftjoin('users as child', 'users.id', '=', 'users.parent_id') 
->select('users.*', 'child.name as child_name') 
->get();