Объединить данные с разными именами столбцовPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Объединить данные с разными именами столбцов

Сообщение Anonymous »

У меня есть 2 таблицы и есть данные по пользователям. Я хочу взять данные между указанными датами из этих двух таблиц, сложить их вместе, если в двух таблицах находится один и тот же пользователь, и записать их как одни данные, если нет. Я выполнил операцию соединения следующим образом, но метод UnionAll объединяет данные в двух результатах SQL, но не собирает одни и те же пользовательские данные. Например, пользователь с идентификатором 1 записан в таблице какPublisher_id, а имя столбца, которое я хочу собрать, — Ticket. В другой таблице есть запись user_id, а имя столбца, которое я хочу собрать, — «ромбовидные». Если стоимость билета равна 10 в одной таблице, а стоимость бриллиантов — 20 в другой таблице, результат должен быть 30, но приходят два отдельных данных. Как мне выполнить это объединение с помощью управления страницами?

Код: Выделить всё

public function index(Request $request)
{
$begin_date = $request->get('begin_date') ? date('Y-m-d 00:00:00', strtotime($request->get('begin_date'))) : now()->startOfMonth();
$end_date = $request->get('end_date') ? date('Y-m-d 23:59:59', strtotime($request->get('end_date'))) : now()->endOfMonth();

$begin_time = strtotime($begin_date);
$end_time = strtotime($end_date);

$a_recharges = ARecharge::select('publisher_id as user_id', DB::raw('SUM(ticket) as coins'))
->whereBetween('created_at', [$begin_date, $end_date])
->groupBy('publisher_id');

$b_recharges = BRecharge::select('user_id', DB::raw('SUM(diamonds) as coins'))
->whereBetween('create_time', [$begin_time, $end_time])
->groupBy('user_id');

$recharges = $a_recharges->union($b_recharges)
->orderByDesc('coins')
->paginate(10)
->appends($request->except('page'));

return view('admin.publisherrecharges.index', compact('recharges'));
}
Я попробовал метод UnionAll, но результаты не такие, как хотелось

Подробнее здесь: https://stackoverflow.com/questions/784 ... lumn-names
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»