['article_id', 'status'], '%like%' => [], ]; } public function lists(): array { $lists = ArticleAiCommentTask::where($this->searchWhere) ->whereNull('delete_time') ->limit($this->limitOffset, $this->limitLength) ->order('id', 'desc') ->select() ->toArray(); $userIds = array_unique(array_column($lists, 'virtual_user_id')); $users = []; if (!empty($userIds)) { $users = User::whereIn('id', $userIds)->column('nickname', 'id'); } foreach ($lists as &$item) { $item['virtual_nickname'] = $users[$item['virtual_user_id']] ?? '-'; $item['create_time_text'] = is_numeric($item['create_time']) ? date('Y-m-d H:i:s', $item['create_time']) : $item['create_time']; $item['run_at_text'] = is_numeric($item['run_at']) ? date('Y-m-d H:i:s', $item['run_at']) : $item['run_at']; } return $lists; } public function count(): int { return ArticleAiCommentTask::where($this->searchWhere) ->whereNull('delete_time') ->count(); } }