fix same column for quick-search table with pbg

This commit is contained in:
arifal hidayat
2025-08-23 22:25:06 +07:00
parent 954b2d8716
commit 38493063c4
6 changed files with 39 additions and 15 deletions

View File

@@ -56,7 +56,8 @@ class RequestAssignmentController extends Controller
'attachments' => function ($q) {
$q->whereIn('pbg_type', ['berita_acara', 'bukti_bayar']);
},
'pbg_task_retributions'
'pbg_task_retributions',
'pbg_task_detail'
])->orderBy('id', 'desc');
// Log final query count for debugging

View File

@@ -9,6 +9,7 @@ use App\Models\PbgTask;
use App\Models\TaskAssignment;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\DB;
class QuickSearchController extends Controller
{
@@ -25,9 +26,13 @@ class QuickSearchController extends Controller
public function quick_search_datatable(Request $request)
{
try {
$query = PbgTask::leftJoin('pbg_task_details', 'pbg_task.uuid', '=', 'pbg_task_details.pbg_task_uid')
->select('pbg_task.*')
->orderBy('pbg_task.id', 'desc');
// Gunakan subquery untuk performa yang lebih baik dan menghindari duplikasi
$query = PbgTask::select([
'pbg_task.*',
DB::raw('(SELECT name_building FROM pbg_task_details WHERE pbg_task_details.pbg_task_uid = pbg_task.uuid LIMIT 1) as name_building'),
DB::raw('(SELECT nilai_retribusi_bangunan FROM pbg_task_retributions WHERE pbg_task_retributions.pbg_task_uid = pbg_task.uuid LIMIT 1) as nilai_retribusi_bangunan')
])
->orderBy('pbg_task.id', 'desc');
if ($request->filled('search')) {
$search = trim($request->get('search'));
@@ -36,7 +41,12 @@ class QuickSearchController extends Controller
->orWhere('pbg_task.name', 'LIKE', "%$search%")
->orWhere('pbg_task.owner_name', 'LIKE', "%$search%")
->orWhere('pbg_task.address', 'LIKE', "%$search%")
->orWhere('pbg_task_details.name_building', 'LIKE', "%$search%");
->orWhereExists(function ($subQuery) use ($search) {
$subQuery->select(DB::raw(1))
->from('pbg_task_details')
->whereColumn('pbg_task_details.pbg_task_uid', 'pbg_task.uuid')
->where('pbg_task_details.name_building', 'LIKE', "%$search%");
});
});
}

View File

@@ -43,6 +43,7 @@ class RequestAssignmentResouce extends JsonResource
->sortByDesc('created_at')
->first(),
'pbg_task_retributions' => $this->pbg_task_retributions,
'pbg_task_detail' => $this->pbg_task_detail,
];
}
}