resto-dhepot/app/Http/Controllers/Admins/Dashboard/DounatController.php

55 lines
1.8 KiB
PHP

<?php
namespace App\Http\Controllers\Admins\Dashboard;
use App\Helpers\ResponseFormatter;
use App\Http\Controllers\Controller;
use App\Models\KelompokKategori;
use App\Models\KelompokKategoriPivot;
use App\Models\MenuTerlarisView;
use Illuminate\Http\Request;
class DounatController extends Controller
{
public function getChartDounat()
{
$menuPaket = $this->menuPaket();
$menuIrit = $this->menuIrit();
return ResponseFormatter::success(['menuPaket' => $menuPaket, 'menuIrit' => $menuIrit]);
}
public function menuPaket()
{
// get menu terlaris where kelompok kategori id = 1
$data = MenuTerlarisView::whereHas('kelompokKategoriPivot', function ($query) {
$query->where('kelompok_kategori_id', 1);
})->where([
['nama_produk', 'not like', '%paket irit%'],
['kode_produk', 'not regexp', '^[a-zA-Z0-9]{2}$'],
['kode_produk', 'not regexp', '^[a-zA-Z0-9]{4}$']
])->orderBy('jumlah_produk_terjual', 'desc')->limit(6)->get();
return [
'labels' => $data->pluck('nama_produk'),
'data' => $data->pluck('jumlah_produk_terjual')
];
}
public function menuIrit()
{
// get menu terlaris where kelompok kategori id = 1
$data = MenuTerlarisView::whereHas('kelompokKategoriPivot', function ($query) {
$query->where([['kelompok_kategori_id', 2]]);
})->where([
['nama_produk', 'like', '%paket irit%'],
['kode_produk', 'not regexp', '^[a-zA-Z0-9]{2}$']
])->orderBy('jumlah_produk_terjual', 'desc')->limit(6)->get();
return [
'labels' => $data->pluck('nama_produk'),
'data' => $data->pluck('jumlah_produk_terjual')
];
}
}