$item['drug_report_v2_id'] ?? '', 'drug_report_name' => $item['drug_report_name'] ?? '', 'report_id' => $item['report_id'] ?? '', 'report_no' => $item['report_no'] ?? '', 'report_date' => $item['report_date'] ?? '', 'batch_no' => $item['batch_no'] ?? '', 'drug_id' => $item['drug_ent_base_info_id'] ?? '', 'drug_name' => $item['drug_name'] ?? '', 'prod_code' => $item['prod_code'] ?? '', 'pkg_spec' => $item['pkg_spec'] ?? '', 'prepn_spec' => $item['prepn_spec'] ?? '', 'pkg_ratio_list' => json_encode($item['pkg_ratio_list'] ?? [], JSON_UNESCAPED_UNICODE), 'sealed_report_url' => $item['sealed_report_url'] ?? '', 'seal_raw_data' => json_encode($data ?? [], JSON_UNESCAPED_UNICODE), ]; }, $data); } public function getList(array $filters, string $search, array $sort, int $perPage) { $options = array_merge([ 'search' => $search, 'searchable' => DrugReportInfo::$searchable, ], $sort); $query = DrugReportInfo::query() ->applyFilters( $filters, $options, ); return $query->paginate($perPage); } }