Как получить сумму цены с количеством в таблице заказов на основе года? - PullRequest
0 голосов
/ 11 марта 2020

У меня есть orders и products таблица, а третья сводная таблица с именем order_product содержит;

order_id - product_id - quantity 

Итак, я создал простой отчет о каждом продукте с этим запросом:

http://app.test/cp/product/chart?report_type=year&year=2020

Я хочу получить все заказы, которые включены в указанный c продукт, умножив цену продукта на его количество, в зависимости от года заказа.

мой неправильный выход :

public function product_chart(Request $request, Product $product)
{
  $year = $request->year;

  if($request->report_type == 'year'){

        $total_price = $product->whereHas('orders', function ($query)  {
                $query->whereYear('created_at', request('year'));
        })->get();

       //here I don't know how to multiply product with a quantity of order!

    } 
}

конечно, есть связь в модели Продукта и Заказе

1 Ответ

0 голосов
/ 11 марта 2020

Попробуйте этот формат

DB::table('table_name')
    ->where(DB::raw('YEAR(date) as year'), DB::raw('sum(quantity) as total'))
    ->groupBy(DB::raw('YEAR(date)') )
    ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...