orderBy('created_at', 'desc')->select( $columns )->take(1)->each( function ($item) use (&$data, &$index, $actionArr) { if ($item['user_id']) { $username = AdminUsers::getUsername($item['user_id']); $item['operation_name'] = $username ?? ''; } if (isset($actionArr[$item['action']])) { $item['action_str'] = $actionArr[$item['action']]; } if ($item['description']) { $description = __('log.' . $item['description']); if (strpos($description, 'log.') === false) { $item['description'] = $description; } } $item['main_directory'] = ''; if ($item['sub_directory']) { $item['main_directory'] = AdminMenu::getLastParentTitle( $item['sub_directory'] ); $item['sub_directory'] = AdminMenu::getParentTitle( $item['sub_directory'] ); } else { $item['sub_directory'] = ''; } $data[] = [ 'id' => $index, 'created_at' => $item['created_at'] ?? '', 'operation_name' => $item['operation_name'] ?? '', 'main_directory' => $item['main_directory'] ?? '', 'sub_directory' => $item['sub_directory'] ?? '', 'action' => $item['action'] ?? '', 'action_str' => $item['action_str'] ?? '', 'description' => $item['description'] ?? '', ]; $index += 1; } ); return $data; } /** * @return array */ public function headings(): array { return [ __('exports.global.index'), __('exports.operation_log.created_at'), __('exports.operation_log.operation_name'), __('exports.operation_log.main_directory'), __('exports.operation_log.sub_directory'), __('exports.operation_log.action'), __('exports.operation_log.action_str'), __('exports.operation_log.description') ]; } }