youmixx
@youmixx
PHP Developer

Laravel как правильно составить БД запрос?

У меня есть две таблицы.
Одна - история покупок, вторая - история оплат.

В таблице истории оплат есть столбец типа buy_id - это id из таблицы истории покупок.
Мне нужно сделать, чтобы я мог брать данные из истрории покупок и сразу же одним запросом и истории оплат.

Станет понятнее, когда увидите:
BuyHistory::whereDate('buy_history.created_at', date('Y-m-d', strtotime($day)))
            ->where('status', 'success')
            ->join('history_payments', 'buy_history.id', '=', 'history_payments.buy_id')
            ->sum('amount');


Но он не работает, он почему-то захватывает сразу много разных лишних дней (если убрать ->join, то все нормально, но тогда нет столбца amount). Столбец amount - он в таблице history_payments.
  • Вопрос задан
  • 165 просмотров
Решения вопроса 1
@jazzus
HistoryPayments whereHas BuyHistory (отношение hasOne) where (запросы даты статуса) sum amount
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AmdY
@AmdY
PHP и прочие вебштучки
Если вы используете агрегатную функцию sum, то ожидается что вы записи группируете по какому-то полю groupBy
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы