Untitled
unknown
plain_text
7 months ago
2.4 kB
8
Indexable
// code dari tab rumusan LA2
$report_lampiran_rumusan = ReportDatatableService::get_report_data(['slug' => 'lampiran-rumusan-report'], ['uuid_rumusan' => $a_uuid_rumusan, 'jenis_lampiran' => 'LA2']);
//code dari es
public static function get_report_data($id, $search_filters = [])
{
$report_data_rows = [];
if (isset($id['uuid'])) {
$report = Report::uuid($id['uuid']);
}
if (isset($id['slug'])) {
$report = Report::where('slug', $id['slug'])->first();
}
if (!$report) return $report_data_rows;
// Add dynamic filters
$filter_class_name = ucwords(Str::camel($report->name) . 'Filters');
$report_columns = $report->config['columns'];
// normal input don't have id, but table input does
$show_columns = [];
foreach ($report_columns as $index => $report_column) {
if (!isset($report_columns[$index]['id'])) {
$report_columns[$index]['id'] = $report_columns[$index]['name'];
}
}
$request = new Request();
$filters = ReportDataFilterFactory::create("$filter_class_name", $request, $report_columns);
$filters->request->merge($search_filters);
$report_data_rows = $report->data()->filter($filters)->get();
// return $report_data_rows;
$rows = [];
if ($report_data_rows) {
foreach($report_data_rows as $report_data_row) {
$columns = [];
foreach ($report_data_row->columns as $report_data_row_column) {
//\Debugbar::info($report_data_row_column);
if (!isset($report_data_row_column['id'])) {
$report_data_row_column['id'] = $report_data_row_column['name'];
}
if (isset($report_data_row_column['userData'])) {
$columns[$report_data_row_column['id']] = $report_data_row_column['userData'];
}
}
$columns['form_submit_id'] = [0 => $report_data_row->form_submit_id];
$columns['form_submit_uuid'] = [0 => $report_data_row->application->uuid];
$rows[] = $columns;
}
}
//\Debugbar::info($rows);
return $rows;
}Editor is loading...
Leave a Comment