55 lines
1.8 KiB
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')
|
|
];
|
|
}
|
|
}
|