diff --git a/server/app/api/controller/v1/GameController.php b/server/app/api/controller/v1/GameController.php index 3184fe3..c59ce81 100644 --- a/server/app/api/controller/v1/GameController.php +++ b/server/app/api/controller/v1/GameController.php @@ -118,6 +118,17 @@ class GameController extends OpenController } $list = $query->page($page, $limit)->select()->toArray(); + $playerIds = array_unique(array_column($list, 'player_id')); + if (!empty($playerIds)) { + $players = DicePlayer::whereIn('id', $playerIds)->field('id,username,phone')->select()->toArray(); + $playerMap = []; + foreach ($players as $p) { + $playerMap[(int) ($p['id'] ?? 0)] = $p; + } + foreach ($list as &$item) { + $item['dice_player'] = $playerMap[(int) ($item['player_id'] ?? 0)] ?? null; + } + } return $this->success($list); } @@ -159,7 +170,9 @@ class GameController extends OpenController $query->where('create_time', '<=', $endCreateTime); } - $list = $query->page($page, $limit)->select()->toArray(); + $list = $query->with(['dicePlayer' => function ($q) { + $q->field('id,username,phone'); + }])->page($page, $limit)->select()->toArray(); return $this->success($list); } @@ -201,7 +214,9 @@ class GameController extends OpenController $query->where('create_time', '<=', $endCreateTime); } - $list = $query->page($page, $limit)->select()->toArray(); + $list = $query->with(['dicePlayer' => function ($q) { + $q->field('id,username,phone'); + }])->page($page, $limit)->select()->toArray(); return $this->success($list); } @@ -267,6 +282,8 @@ class GameController extends OpenController return $this->fail('操作失败:' . $e->getMessage(), ReturnCode::SERVER_ERROR); } - return $this->success($record->toArray()); + $recordArr = $record->toArray(); + $recordArr['dice_player'] = ['id' => (int) $player->id, 'username' => $player->username ?? '', 'phone' => $player->phone ?? '']; + return $this->success($recordArr); } }