Laravel 4 — JOIN — то же имя столбца

В настоящее время я использую этот код для получения необходимых данных из моей базы данных

    $query = DB::table('packages')
->join('assigned_packages', function($join) use($id)
{
$join->on('packages.id', '=', 'assigned_packages.registered_package_id')
->where('assigned_packages.customer_id', '=', $id);
})
->join('registered_packages', function($join)
{
$join->on('packages.id', '=', 'registered_packages.id')
->on('registered_packages.id', '=', 'assigned_packages.registered_package_id');
});

Это работает нормально, однако проблема в том, что в этих таблицах есть столбцы с одинаковыми именами, поэтому в результате получается только последняя. Как я могу это исправить? Обычно я бы использовал as вариант в запросе, но я, честно говоря, не знаю, как я могу добавить его в мой текущий код JOIN сверху.

2

Решение

$query = DB::table('packages')
->join(...)
->join(...)
->select(DB::raw('packages.name as name1, assigned_packages.name as name2'))
->get();

редактировать:

$sql = "select a.name as name1, b.name as name2";
$sql .= " from a left join b on a.id=b.id1 and b.id2=&id";
$result = DB::select($sql);
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]