Files
exchange-2.0/app/Http/Controllers/Currencies/Rates/RateHistoriesController.php
T
2023-02-08 01:17:03 +06:00

69 lines
2.2 KiB
PHP

<?php
namespace App\Http\Controllers\Currencies\Rates;
use App\Models\CurrencyRate;
use App\Models\CurrencyRateLog;
use Illuminate\Http\Request;
class RateHistoriesController
{
public function histories(Request $request)
{
$query = CurrencyRate::query();
// $query->when($request->filled('currency_id'), function ($query) use ($request) {
// return $query->where('currency_id', '=', $request->input('currency_id'));
// });
// $query->when($request->filled('service_id'), function ($query) use ($request) {
// return $query->where('service_id', '=', $request->input('service_id'));
// });
// $query->when($request->filled('payment_methid_type'), function ($query) use ($request) {
// return $query->where('payment_method_type', '=', $request->input('payment_methid_type'));
// });
$query->when(true, function ($query) {
return $query->where('currency_id', '=', 2);
});
$query->when(true, function ($query) {
return $query->where('service_id', '=', 1);
});
$query->when(true, function ($query) {
return $query->where('payment_method_type', '=', 1);
});
$currency_rate_id = $query->value('id');
$results = CurrencyRateLog::select('selling', \DB::raw("DATE_FORMAT(updated_at, '%d') as date"))
->where('currency_rate_id', $currency_rate_id)
->groupBy('date')->get();
$daysInMonth = collect(range(1, date('t')));
$merged = $daysInMonth->map(function ($day) use ($results) {
$result = $results->firstWhere('date', $day);
return $result ? $result->selling : '';
});
$labels = $daysInMonth->map(function ($day) {
return date('d', strtotime(date('Y-m')."-$day"));
});
$data = [
'labels' => $labels,
'datasets' => [
[
'label' => 'Day Wise Report',
'data' => $merged,
'fill' => false,
'borderColor' => 'rgb(75, 192, 192)',
'tension' => 0.1,
],
],
];
return view('pages.rate_histories', compact('data'));
}
}