1
我有三個表,這裏的相關列:加入三個表中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"}]
看起來,由於所有三個表都有一個「名稱」列,所以要選擇的最後一列將覆蓋前面的列。顯然這不是我想要的。
有沒有辦法在查詢生成器中爲列提供一個新名稱,類似於普通MySQL中的AS?這是否會解決我的問題?請以您的答案爲例。我不是MySQL專家,我是Laravel的初學者。我只是試圖建立一個基本的API用於我的實際項目。
謝謝!
謝謝!我知道這會讓事情變得很簡單。我必須等待8分鐘才能接受這個答案,因爲你的回答太快:) –
不客氣。 – oseintow