У меня есть три таблицы, вот соответствующие столбцы:Соединение трех таблиц в 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"}]
Похоже, поскольку все три таблицы имеют столбец «имя», последний выбранный столбец перезаписывает те, которые перед ним. Очевидно, это не то, что я хочу.
Есть ли способ дать столбцу новое имя в построителе запросов аналогично AS в простой MySQL? Это даже решит мою проблему? Просьба привести пример с ответом. Я не эксперт по MySQL, и я новичок в Laravel. Я только пытаюсь настроить базовый API для использования с моим фактическим проектом.
Спасибо!
Спасибо! Я знал, что это будет что-то мертвое простое. Я должен подождать 8 минут, чтобы принять этот ответ, так как вы ответили так быстро :) –
Добро пожаловать. – oseintow