Как я могу сделать оператор соединения в Laravel, а затем запросить результаты по 2 конкретным идентификаторам пользователей и затем суммировать определенный столбец - PullRequest
0 голосов
/ 11 октября 2019

У меня есть таблица транзакций и таблица проданных товаров. Таблица транзакций имеет столбец customer_id и столбец product_id. Таблица sold_products содержит столбец seller_id и столбец id. Я хотел бы объединить таблицы, используя транзакции.product_id и sold_products.id. Как я могу затем запросить возвращенные результаты, основываясь на customer_id и product_id, с последующим суммированием количественного столбца?

Я уже пробовал это, однако это не работает

$quantity_bought = DB::table('transactions')->select(DB::raw('SUM(sold_products.quantity_available)'))->
                join('sold_products', 'transactions.product_id',
                '=', 'sold_products.id')->where('transactions.buyer_id', Auth::user()->id)
                ->where('sold_products.id', $product->seller_id)->get();

1 Ответ

0 голосов
/ 11 октября 2019

я думаю, что вам нужно всего лишь добавить группу, вот так

      $quantity_bought = DB::table('transactions')
           ->select(DB::raw('SUM(sold_products.quantity_available)'))
           ->join('sold_products', 'transactions.product_id','=', 'sold_products.id')
           ->where('transactions.buyer_id', Auth::user()->id)
           ->where('sold_products.id', $product->seller_id)
           ->groupBy('transactions.buyer_id','sold_products.id')
           ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...