getMeta($data), // 'header' => $data['header'], 'list' => $this->newEachScriptList($data), ]; } private function newEachScriptList($list): array { $result = []; if (empty($list)) return $result; foreach ($list as $item) { $script_id = getProp($item, 'id'); $status = getProp($item, 'status'); $status_arr =[ '1' => '待创作', '2' => '解析中', '3' => '解析完成', '4' => '解析失败', ]; // 获取分集信息 $episodes = DB::table('mp_script_episodes')->where('script_id', $script_id)->orderBy('episode_number')->select('title', 'episode_number', 'content')->get()->map(function ($value) { return (array)$value; })->toArray(); $result[] = [ 'user_id' => getProp($item, 'user_id'), 'script_id' => $script_id, 'script_name' => getProp($item, 'script_name'), 'status' => $status, 'status_info' => isset($status_arr[$status]) ? $status_arr[$status] : '', 'created_at' => transDate(getProp($item, 'created_at')), 'updated_at' => transDate(getProp($item, 'updated_at')), 'episodes' => $episodes, ]; } return $result; } }