Сумма цены одного на много отношений (laravel)

Трудно получить хорошее представление о JS или написать больше, чем что-либо тривиальное в нем, если вы не понимаете его полностью. Вы не можете просто позволить себе быстро окунуться :) Я думаю, что лучший способ начать работу с JS - сначала посмотреть эти видео-лекции Дугласа Крокфорда - http://yuiblog.com/crockford/ , который охватывает это и то, и все остальное о JS.

1
задан Someb 13 July 2018 в 16:36
поделиться

3 ответа

Использование красноречивых моделей без DB

Product::with(['orders' => function($query){
   $query->sum('price');
}])->get();
0
ответ дан Seva Kalashnikov 17 August 2018 в 12:40
поделиться

попробуйте QueryBuilder Query:

 DB::table('orders')
    ->leftJoin('products','orders.product_id','=','products.id')
    ->where('orders.user_id',Auth::user()->id)
    ->select('orders.*','products.*',DB::raw("SUM(products.price) as order_total"))
    ->groupBy('orders.product_id')
    ->get();
1
ответ дан Saurabh Mistry 17 August 2018 в 12:40
поделиться

Я нахожу решение! Поэтому я делаю это

Я использую текущую связь, как befor, и я делаю эту функцию в моей модели order.php

public function getTotalPrice() {

$orders = self::with('product')->get();

$total = 0;

foreach($orders as $order) {
 $total += $order->product->price;
} 

return $total;
}

Теперь я могу использовать свою функцию как obj и называть ее $var->getTotalPrice();

0
ответ дан Someb 17 August 2018 в 12:40
поделиться
  • 1
    Немного короче: $total = $orders->pluck('product')->sum('price'); – Jonas Staudenmeir 13 July 2018 в 17:39
Другие вопросы по тегам:

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