Untitled
unknown
plain_text
12 days ago
2.2 kB
2
Indexable
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