Как получить общую сумму одного столбца после умножения на другие значения столбца - PullRequest
0 голосов
/ 19 сентября 2018

взгляните на этот снимок экрана базы данных

Есть два разных столбца, я хочу умножить значение столбца «Покупка» на столбец «Склад».а затем хотите суммировать все ответы.В соответствии с примером, ответ в первой строке - 6600, а во второй строке - 4500, я хочу итоговое значение после умножения и суммы.

Попробовал этот код: но получил 0 в результате.

$purchase_sum = Stock::All()->sum('purchase' * 'stock');

Используя красноречивый метод Laravel.

Заранее спасибо

1 Ответ

0 голосов
/ 19 сентября 2018

Вы можете либо умножить и суммировать значения, используя SQL-запрос ( документация ):

$total = DB::table('stock')->selectRaw('purchase * stock AS total')->sum('total');

Или вы можете использовать редуктор в своей коллекции ( документация ):

$total = Stock::all()->reduce(function ($total, $item) {
    return $total + ($item->purchase * $item->stock);
});
...