Я использую Laravel 5.7 и консольное телевидение / графики версии 5. * Гистограмма, чтобы показать общие расходы по месяцам текущего года. Вот мой код, который я пробовал.
$expenses = Expense::selectRaw("SUM(amount) as total_amount, MONTH(date) as month")->whereYear('date', date('Y'))->groupBy('month')->get();
Вывод запроса:
Collection {#273 ▼
#items: array:1 [▼
0 => Expense {#275 ▼
#attributes: array:2 [▼
"total_amount" => "4014"
"month" => 1
]
]
}
$chart = Charts::database($expenses, 'bar', 'highcharts')
->title("Monthly Expenses")
->elementLabel("Total Expenses")
->dimensions(1000, 600)
->responsive(false)
->groupByMonth(date('Y'), true);
return view('chart',compact('chart'));
Но, чем я думал, $chart
может понадобиться только одно значение, потому что в конфигурациях диаграммы оно уже сгруппировано по месяцу текущего года. Таким образом, с функцией карты я извлек только total_amount
из запроса.
$expenses_total = $expenses->map(function(Expense $expense){
return $expense->total_amount;
});
Но пока я не получил ожидаемый результат.
Я на самом деле хочу сумму ежемесячных расходов текущего года.