use App\Models\Transaction;
use Illuminate\Support\Facades\DB;
class TotalExpensesTrend extends TrendMetric
{
//
public function __invoke($_, array $args)
{
$rangeData = app('findRangeByKey', ["key" => $args['range']]);
$query = Transaction::query()
->expenses()
->select(DB::raw("date_format(created_at, '%Y-%m') as label, SUM(transactions.amount) as value"))
->groupBy(DB::raw("label"))
->orderBy("label");
if($rangeData) {
$query->whereBetween('transactions.created_at', [$rangeData->start(), $rangeData->end()]);
}
return $query->get();
}
}